У меня есть записи типа RF123456789, RF1234567890 и т. Д.
Я просто хочу сопоставить записи, начинающиеся с 'RF', за которыми следуют ровно 9 цифр номера.Если оно больше 9 цифр или меньше 9 цифр, должно отображаться Invaid.Я написал приведенный ниже код, но проблема в том, что если число больше 9, оно также отображается действительным.Я понимаю, что я написал для проверки, только если он начинается с RF и сопровождается 9 цифрами, поэтому в случае 10 цифр он явно соответствует моему шаблону.Можно ли как-нибудь ограничить его только 9 цифрами, а не 10?
Set myrange = Range("C2:C" & Rng)
For Each c In myrange
strinput = c.Value
patn = "([r|R][f|F][0-9]{9})"
If patn <> "" Then
With regex
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = patn
End With
If regex.Test(strinput) Then
c.Offset(0, 5) = "Valid"
Else
c.Offset(0, 5) = "Invalid"
End If
End If
''checking Column D and E are matching or not''
If c.Offset(0, 1) <> "" Then
If c.Offset(0, 1) = c.Offset(0, 2) Then
c.Offset(0, 6) = "Matching"
Else
c.Offset(0, 6) = "Not Matching"
End If
Else
c.Offset(0, 6) = "Empty"
End If
Next