小编dod*_*odo的帖子

在正则表达式中特殊地使用'*'

在编写正则表达式模式时,将所有连续体'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或更多.

regex python-3.6

6
推荐指数
1
解决办法
151
查看次数

标签 统计

python-3.6 ×1

regex ×1