Проблема в том, что я пытаюсь создать шаблон, который будет возвращать false, если в строке НИЧЕГО есть что-то, кроме того, что именно проверяет шаблон.Я новичок в использовании регулярных выражений и считаю, что это должно быть достигнуто путем помещения всего шаблона между "^" и "$", но это не работает для моего кода.
Sub Macro1()
Dim cellValue As String
cellValue = "7:11 AM NBR Unavail"
Dim callPattern As String
callPattern = "^[1]{0,1}[1-9][:][0-9]{2}[ ]AM|PM$"
Dim regEx As New RegExp
With regEx
.IgnoreCase = False
.Pattern = callPattern
End With
If regEx.Test(cellValue) Then
MsgBox ("Got it!")
Else
MsgBox ("Don't got it...")
End If
End Sub
Как видите, переменная cellValue имеет текст после AM | PM, который проверяет шаблон, но когда я его запускаю, я все равно получаю «Got it!»сообщение, и я не уверен, почему это так.Ранее я экспериментировал со следующей строкой и шаблоном, а «$» в конце работал точно так, как предполагалось, так почему же он не работает с приведенным выше кодом?
cellValue = "7:11 PM (555) 444-3333"
callPattern = "^[1]{0,1}[1-9][:][0-9]{2}[ ]AM|PM[ ][(][0-9]{3}[)][ ][0-9]{3}[-][0-9]{4}$"