在编写正则表达式模式时,将所有连续体'1'和单个'1'替换为's'.我发现这很令人困惑,使用'+'(用于匹配1或更多)给出了预期的结果,但'*'给出了奇怪的结果
>>> l='100'
>>> import re
>>> j=re.compile(r'(1)*')
>>> m=j.sub('*',l)
>>> m
'*0*0*'
Run Code Online (Sandbox Code Playgroud)
虽然'+'的使用给出了预期的结果.
>>> l='100'
>>> j=re.compile(r'1+')
>>> m=j.sub('*',l)
>>> m
'*00'
Run Code Online (Sandbox Code Playgroud)
正则表达式中的'*'如何给出这个,而它的行为是匹配0或更多.