У меня есть многострочная строковая переменная, которая содержит большую строку данных.Некоторые из этих данных заключены в квадратные скобки.
Пример переменной данных:
[text 123]
text [text] 234 [blah] blah
some more [text 123]
Мне нужно извлечь все данные в квадратных скобках в запрос или таблицу, чтобы это было что-то вроде этого:
text 123
test
blah
text 123
Вот мой код VBA ниже:
Dim dataString As String
dataString = "test [field 1] mroe text [field 2] etc"
Dim searchStr As String
Dim regExp As Object
Dim colregmatch As MatchCollection
Dim match As Variant
searchStr = dataString
Set regExp = CreateObject("vbscript.regexp")
With regExp
.pattern = "(?<=\[)(.*?)(?=\])"
.IgnoreCase = True
.Global = True
.Multiline = True
End With
Set colregmatch = regExp.Execute(searchStr)
If colregmatch.Count <> 0 Then
For Each match In colregmatch
MsgBox match.Value
Debug.Print match.Value
Next
End If
Set colregmatch = Nothing
Set regExp = Nothing
ОБНОВЛЕНИЕ: я получаю ошибку времени выполнения 5017 при использовании этого шаблона.Если я использую «[([^]] +)]» в качестве шаблона, он работает, но скобки не удаляются ...