sub()功能代码求解释
>>> p = re.compile('x*')>>> p.sub('-', 'abxd')'-a-b-d-'
p=re.compile(r'x{1,}')
[解决办法]
看正则的*和+的区别
*是0-∞
+是1-∞
x*表示0个x,或者1个,或者2个,或者....
x+表示至少1个x,或者2个,或者3个...
那么你的正则替换就明确了,abxd
a之前0个x,b之前0个x,d之前1个x,d之后0个x
至于d之前为什么是1个x,因为正则是贪婪匹配,尽可能多的匹配
好好看下正则语法就明白了
[解决办法]
.a.b.x.d. '.'代表空字符,空字符有和没有对字符串是没有影响的,x*显然与第一个空字符匹配,同第二也匹配,到第三个“.x.”整体与x*匹配,。。。
这样就不难得出那样的输出结果
如果你还不明白,那我也无能无力了,自己查正则方面的资料,看看书吧