Я ищу совет.
Я пытаюсь использовать регулярные выражения в Visual Basic для Excel (ссылка на регулярные выражения Microsfot VBScript 5.5 уже установлена).
Я просто хочу, чтобы эта функция проверяла мое регулярное выражение \d\d\d\d\d
(для поиска любых 5 последовательных целых чисел) и, если это правда, давала соответствующее значение.
Например, если у меня есть строка «aaaaa 12345 bbb», я хочу, чтобы функция выдала «12345». Кажется, легко, но ... не для меня.
Это мой код до сих пор:
Function EXTRACT_CP(cell_with_text As Range) As String
Dim regEx As New RegExp
Dim strexpresion As String
Dim strInput As String
Dim strReplace As String
Dim strOutput As String
strexpresion = "\d\d\d\d\d"
strInput = UCase(cel_with_text.Value)
regEx.Pattern = strexpresion
If regEx.Test(strInput) Then
‘THIS LINE OBVIOUSLY FAILS BUT I DON’T KNOW WHAT TO PUT
strOutput = regEx.Replace(strInput, "\d\d\d\d\d")
End If
EXTRACT_CP = strOutput
End Function
Просто хочу узнать, как получить соответствующее значение для любого регулярного выражения.