vba正则表达式匹配 报错“运行时错误 5017”
Sub test()
Dim regEx, Match, matches ' 建立变量。
Set regEx = CreateObject("vbscript.regexp") ' 建立正则表达式。
regEx.Pattern = "(?<![\u4e00-\u9fa5])张三(?![\u4e00-\u9fa5])" ' 报运行时错误 5017
'regEx.Pattern = "张三" '不会报错
regEx.IgnoreCase = True ' 设置是否区分字符大小写。
regEx.Global = True ' 设置全局可用性。
regEx.MultiLine = True '设置多行匹配
strng = "6. a张三(1) ,我不是 张三丰" '只匹配第一个张三,不匹配张三丰那个张三
Set matches = regEx.Execute(strng) ' 执行搜索。
End Sub
我想匹配“张三”这个名字,但是名字之间有空格,标点符号,数字等分割。我写了正则表达式匹配 "(?<![\u4e00-\u9fa5])张三(?![\u4e00-\u9fa5])",这个表达式我在线测试网站https://c.runoob.com/front-end/854/ 可以通过,但是在vba中报错。请问有什么解决办法。