如何深入理解分组?
Topic source不论有几个分组,正则表达式也要完全匹配。你所说的‘不完全匹配’指的是正则表达式本身可变化,例如[a-z]{1-3}可以是1个2个或3个字符小写英文字符。对于正则表达式与待匹配字符串,必须要求字符串满足完整的正则表达式的描述。
>>> m = re.match(r'(\d{3})','606')
>>> print(m)
<re.Match object; span=(0, 3), match='606'>
>>> m = re.match(r'(\d{3})-(\d{4})','606-6666')
>>> print(m)
<re.Match object; span=(0, 8), match='606-6666'>
>>> print(m.groups())
('606', '6666')
>>>
- 1
是的就在2013
m = re.match(r'(\d{2})-(\d{2,5})','606-6666') 报错;
m = re.match(r'(\d{2}))','606') 返回60,正确,这是为什么?是不是当有两个或以上分组时,各个部分就一定要完全匹配?