今天突然想知道正则对(.*)*
的匹配过程是怎么的,于是自己测试了下,对代码的输出有点看不明白。
代码如下:
>>>reg1=re.compile(r'(.*)*?')
>>>text='fffffff'
>>> reg1.findall(text)
['', '', '', '', '', '', '', '']
————————————————————
>>>reg2=re.compile(r'(.*)*')
>>> reg2.findall(text)
['', '']
很迷茫,比如reg2匹配为什么出输出两个''
,reg1的匹配又为什么是一堆的''
而不是'f'
向大家求教下
ps:贪婪和非贪婪的区别我是清楚的,但嵌套在一起就不明白顺序了....
python3