{}量词是如何工作的?
问题描述
>>>
>>> re.search(r'^d{3, 5}$', '90210') # {3, 5} 3 or 4 or 5 times
>>> re.search(r'^d{3, 5}$', '902101') # {3, 5} 3 or 4 or 5 times
>>> re.search(r'^w{3, 5}$', 'hello') # {3, 5} 3 or 4 or 5 times
>>> re.search(r'^w{3, 5}$', 'hell') # {3, 5} 3 or 4 or 5 times
>>>
以上所有假设都应该起作用,使用{}量词
问题:
为什么r'^d{3, 5}$'
没有搜索'90210'
?
解决方案
{m
和,
和n}
量词之间不应有空格:
>>> re.search(r'^d{3, 5}$', '90210') # with space
>>> re.search(r'^d{3,5}$', '90210') # without space
<_sre.SRE_Match object at 0x7fb9d6ba16b0>
>>> re.search(r'^d{3,5}$', '90210').group()
'90210'
btw,902101
与模式不匹配,因为它有6位数字:
>>> re.search(r'^d{3,5}$', '902101')
相关文章