Я пытаюсь сопоставить номер телефона в указанном формате c, например 021-768-4444
, для этого я написал программу, которая распознает действительный номер телефона при передаче строки в регулярное выражение, и успешно завершил свою программу. sh это задание, но когда я передаю номер телефона, отличный от этого формата, он также распознает, а не показывает None
:
Вот код:
import re
phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')
mo = phoneNumRegex.search('My number is 415-555-42424854-201.')
if mo is not None:
print('Phone number found: ' + mo.group())
else:
print("Pattern is not matched")
Над кодом дай мне этот вывод:
Phone number found: 415-555-4242
, пока я ожидаю, что он будет None
, потому что я знаю, что метод search () вернет None, если шаблон регулярного выражения не найден в строке.
Но если я передам правильный номер телефона, он будет работать, как и ожидалось:
mo = phoneNumRegex.search('My number is 415-555-4242.')
Это очень странное поведение для меня, кто-то может подсказать мне, где я ошибаюсь? Любая помощь будет принята с благодарностью. Спасибо