import re
phoneNumberRegex = re.compile(r'\d{3}-\d{3}-\d{4}')
mo = phoneNumberRegex.search('My number is 415-55-4242.')
print('Phone number found: ' + mo.group(0))
>>> import re
>>> re.search(r'\d{3}-\d{3}-\d{4}', 'My number is 415-55-4242.') # does not match => None
>>> re.search(r'\d{3}-\d{2}-\d{4}', 'My number is 415-55-4242.') # matches => MatchObject
<_sre.SRE_Match object; span=(13, 24), match='415-55-4242'>
使用^{} 是可以的。在
但是,
415-55-4242
与\d{3}-\d{3}-\d{4}
不匹配,因为字符串的中间部分只包含2个数字。在要防止错误发生,您需要保护最后一个语句:
^{pr2}$更新
如果不想匹配
12345-123-12345
,则需要使用单词边界(\b
):它的工作组是正确的方法。但是,在regex中需要一个捕获组,而且regex也有点错误。请使用以下代码:
相关问题 更多 >
编程相关推荐