我正在尝试以特定格式匹配电话号码,就像 021-768-4444
我编写了一个程序,当将字符串传递给正则表达式时识别有效的电话号码,并且我的程序成功完成了此任务,但是当我通过电话时除了这种格式之外的数字,它也可以识别而不是显示给我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.')
这对我来说是非常奇怪的行为,有人可以指导我哪里错了吗?任何帮助将不胜感激。谢谢