Регулярное выражение VBA для соответствия временному диапазону, например «13:30–00:00»

Я пытаюсь использовать регулярное выражение 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
6
задан Eric Leschinski 21 June 2013 в 16:13
поделиться