Я пытаюсь заменить последние две цифры числа на «XX BLOCK
», если оно встречается в начале строки и имеет более 2 цифр.
Я использую ссылку Регулярные выражения Microsoft VBScript 5.5 .
Dim regEx As New RegExp
With regEx
.Global = True 'Matches whole string, not just first occurrence
.IgnoreCase = True 'Matches upper or lowercase
.MultiLine = True 'Checks each line in case cell has multiple lines
.pattern = "^(\d{2,})" 'Checks beginning of string for at least 2 digits
End With
'cell is set earlier in code not shown, refers to an Excel cell
regEx.replace(cell.Value, "XX BLOCK")
Желаемые результаты:
"1091 foo address" --> "10XX BLOCK foo address"
"1016 foo 1010 address" --> "10XX BLOCK foo 1010 address"
"foo 1081 address" --> "foo 1081 address"
"10 bar address" --> "XX BLOCK bar address"
"8 baz address" --> "8 baz address"
Я новичок в регулярных выражениях и не знаю, с чего начать. Я попытался использовать ^(\d{2,})
, но затем он заменяет весь номер.
Существует также гарантия, что за номером (если он существует) будет всегда с пробелом.