Я пытаюсь использовать регулярное выражение VBA для проверки диапазона времени в форме: #0:00xm - #0:00xm
, где x
равно a
или p
. Таким образом, строковым литералом может быть "1:30pm - 12:00am"
. Я хочу сопоставить ячейки с этим шаблоном.
Когда я использую обычный экспресс в этом онлайн-инструменте: http://public.kvalley.com/regex/regex.asp
и проверяю свое выражение, оно совпадает правильно.
Однако, когда я использую то же выражение в VBA, оно не совпадает.
Dim rRange As Range
Dim rCell As Range
Set rRange = Range("A2", "A4") '"G225")
For Each rCell In rRange.Cells
MsgBox (rCell.Value)
If rCell.Value Like "^([0-9]{1,2}[:][0-9]{2}[apm]{2}[ ][-][ ][0-9]{1,2}[:][0-9]{2}[apm]{2})$" Then
MsgBox ("YES")
'rCell.Interior.Color = RGB(0, 250, 0)
Else
MsgBox ("NO")
'rCell.Interior.Color = RGB(250, 0, 0)
End If
Next rCell