Regex Позитивные проблемы с Excel VBA

Я использую 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

1 ответ

Решение

Это относится к VBScript (и, следовательно, VBA).

vbscript не поддерживает lookbehind (отрицательный или положительный)

Другие вопросы по тегам