您好,我在使下面的正则表达式代码正常工作时遇到一些问题。 我收到应用程序未定义或对象未定义错误
文本框位于用户表单上。
错误发生在“Set allMatches = regEx.Execute(TextBox1.Text)”行上 不确定我错过了什么。
Dim regEx As Object
Dim allMatches As Object
Set regEx = CreateObject("VBScript.RegExp")
With regEx
.IgnoreCase = True
.MultiLine = False
.Pattern = "\d{2,2}/\d{2,2}/\d{4,4} \d{2,2}:\d{2,2)[AM|PM]"
.Global = True
End With
Set allMatches = regEx.Execute(TextBox1.Text)
If allMatches.Count <> 0 Then
result = allMatches.Item(0).submatches.Item(0)
End If
最佳答案
好吧,经过一番谷歌搜索和查看后,我发现了问题: 其图案如下:
.pattern = "\d{2,2}/\d{2,2}/\d{4,4} \d{2,2}:\d{2,2**)** [AM|PM]"
事实证明,如果模式无效,您将收到 5017 错误。
通过将“)”更改为正确的结束符“}”,错误得到解决。
.pattern = "\d{2,2}/\d{2,2}/\d{4,4} \d{2,2}:\d{2,2**}** [AM|PM]"
我认为如果模式不匹配,那么你会得到错误的返回,但事实并非如此..
关于regex - Excel VBA正则表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345637/