| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1180 人关注过本帖
标题:正则出现OLE错误,是不支持条件的写法吗?怎么修改
只看楼主 加入收藏
shonken
Rank: 2
等 级:论坛游民
帖 子:116
专家分:26
注 册:2017-1-15
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:20 
正则出现OLE错误,是不支持条件的写法吗?怎么修改
程序代码:
Clea
TEXT To Lc内容 Textmerge Pretext 7 Noshow
"id": "LiC6KN1E6UCB",

"name": "茸沂弃辺瑚哺",

"value": "本单位",

},{

"id": "LiB6KN1E6H6K",

"name": "钣齐栽怪末瘎儡斬损",

"value": "子公司",

},
ENDTEXT
TEXT To Lc条件 Textmerge Pretext 7 Noshow
(?<=name": ")[\u4e00-\u9fa5a-zA-Z]+
ENDTEXT

Local Loregexp,Cresults,Matches
Cresults = ""
Loregexp = Createobject("Vbscript.Regexp")
Loregexp .Pattern = Lc条件
Loregexp.Global = .T.
Loregexp.Ignorecase = .T.
Loregexp.Multiline    = .T.
Matches = Loregexp.Execute(Lc内容)


代码运行出现:OLE错误码0x800a1399: 未知的 COM 状态代码,错误。
这是什么原因?及怎么修改
搜索更多相关主题的帖子: 出现 修改 错误 OLE 条件 
2023-04-27 12:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
正则表达式异常
字符串格式似JSON,不用正则也可以
2023-04-27 16:14
shonken
Rank: 2
等 级:论坛游民
帖 子:116
专家分:26
注 册:2017-1-15
收藏
得分:0 
以下是引用吹水佬在2023-4-27 16:14:39的发言:

正则表达式异常
字符串格式似JSON,不用正则也可以


在一些正则校验网站校验过条件表达式没问题,是不是Vbscript.Regexp不支持这种写法?
2023-04-27 18:23
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:0 
"id": "LiC6KN1E6UCB",
这句左边是不是少了一个 {
2023-04-28 11:45
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:20 
程序代码:
Clea
TEXT To Lc内容 Textmerge Pretext 7 Noshow
"id": "LiC6KN1E6UCB",
"name": "茸沂弃辺瑚哺",
"value": "本单位",
},{
"id": "LiB6KN1E6H6K",
"name": "钣齐栽怪末瘎儡斬损",
"value": "子公司",
},
EndText

TEXT To Lc条件 Textmerge Pretext 7 Noshow
"name": "([\u4e00-\u9fa5a-zA-Z]+)"
ENDTEXT

Local Loregexp,Cresults,Matches
Cresults = ""
Loregexp = Createobject("Vbscript.Regexp")
Loregexp .Pattern = Lc条件
Loregexp.Global = .T.
Loregexp.Ignorecase = .T.
Loregexp.Multiline    = .T.
Matches = Loregexp.Execute(Lc内容)

For each oo in Matches
    ? oo.SubMatches(0)
EndFor



这家伙很懒,啥也没留下
2023-04-28 13:29
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:0 
你这加密后的串也许不止包含汉字和英文字符,说不定也包含些数字和符号,其实不管是些什么,都提取出来就好了
TEXT To Lc条件 Textmerge Pretext 7 Noshow
"name": "(.*?)"
ENDTEXT

这家伙很懒,啥也没留下
2023-04-28 13:49
shonken
Rank: 2
等 级:论坛游民
帖 子:116
专家分:26
注 册:2017-1-15
收藏
得分:0 
以下是引用csyx在2023-4-28 13:49:23的发言:

你这加密后的串也许不止包含汉字和英文字符,说不定也包含些数字和符号,其实不管是些什么,都提取出来就好了
TEXT To Lc条件 Textmerge Pretext 7 Noshow
"name": "(.*?)"
ENDTEXT



我怎么在发帖时会有预感,csyx版主能帮到我呢,谢谢你

TEXT To Lc条件 Textmerge Pretext 7 Noshow
"name": "(.*?)"
ENDTEXT
For each oo in Matches
    ? oo.SubMatches(0)
EndFor

这里是截取以"name": "开头的字串,然后利用冒号:来取子串吗?
还是下面这个?
(pattern)    匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性 


[此贴子已经被作者于2023-4-28 16:25编辑过]

2023-04-28 16:07
东海ECS
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:Python
等 级:版主
威 望:32
帖 子:412
专家分:1646
注 册:2023-1-24
收藏
得分:0 
提示: 该帖被管理员或版主屏蔽

会当凌绝顶,一览众山小.
2023-04-28 19:06
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:0 
以下是引用东海ECS在2023-4-28 19:06:17的发言:
这里使用了 IIF 函数来判断 Loregexp 是否已经初始化,如果没有则创建它,否则直接使用。另外,为了防止 Loregexp 未初始化导致的错误,一般建议在代码开头就初始化 Loregexp。

又在这胡说八道,有本事你倒是把你的代码运行一遍啊,就会瞎咧咧

这家伙很懒,啥也没留下
2023-04-29 07:27
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:0 
以下是引用shonken在2023-4-28 16:07:34的发言:
这里是截取以"name": "开头的字串,然后利用冒号:来取子串吗?

也是提取子串,规则 "name": "[\u4e00-\u9fa5a-zA-Z]+"  含义是提取 起始于 "name": " 结束于 ", 内容只能是汉字或英文字符(且至少出现一次)的子串
大概相当于 vfp 的 StrExtract 函数,但功能比 StrExtract 强点儿,能限定子串的字符范围

你写的正则表达式也没毛病,要执行的 (?<=name": ") 就是 ?(询问)<=(起始于) name": ",后面是子串匹配规则 [\u4e00...A-Z] 汉字或英文字符,+ 至少出现一次
咋整呢,也许 Vbscript.Regexp 就是不支持这种正则语法,你问要如何修改,这个 COM 咱肯定是改不了,只好换个方式改 pattern

[此贴子已经被作者于2023-4-29 08:18编辑过]


这家伙很懒,啥也没留下
2023-04-29 07:59
快速回复:正则出现OLE错误,是不支持条件的写法吗?怎么修改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051844 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved