5

我正在运行 VBA (Excel 2003) 并测试一个积极的后向正则表达式模式。我运行下面的函数,但得到以下错误:

Run-time error '5017': Method 'Execute' of object 'IRegExp2' failed

我也试过 Set re = CreateObject("vbscrip.regexp")
,但我得到了同样的错误。我已经成功地测试了一些积极的前瞻,他们工作。只是后面有问题。我已经用 Expresso 测试了下面的模式,它运行良好。这是 VBA 特有的风味问题吗?

Function regexSearch(pattern As String, source As String) As String
Dim re As RegExp
Dim matches As MatchCollection
Dim match As match
'Create RegEx object
pattern = "(?<=a)b"
source = "cab"
Set re = New RegExp
   re.Multiline = False 
   re.Global = True
   re.IgnoreCase = False
   re.pattern = pattern
'Execute
Set matches = re.Execute(source)
'Output
For Each match In matches
   str = str & match & " "
Next match
regexSearch = str
End Function
4

1 回答 1

5

它特别适用于 (因此也适用于)。

不支持lookbehind(负或正)

于 2012-09-25T02:06:46.877 回答