【python】用正则表达式进行文字局部替换

比如有个字符串http://www.55188.com/thread-8306254-2-3.html,需要把8306254后面的2替换成其它数字,其它保持不变,该如何办呢?请看代码:

import re

url='http://www.55188.com/thread-8306254-2-3.html'
pattern='-(\d+)-(\d+)-(\d+)'
i=5678
newUrl=re.sub(pattern,lambda m:'-'+m.group(1)+'-'+str(i)+'-'+m.group(3),url)
print(newUrl)

控制台输入如下:

C:\Users\horn1\Desktop\python\26>python sub.py
http://www.55188.com/thread-8306254-5678-3.html

Python的局部替换比JS/Nodejs的还是差点意思,后者直接用$1,$2,$3就可以了。

posted @ 2018-04-26 10:12  逆火狂飙  阅读(9335)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东