python 正则表达式替换的问题 re.sub

要求:
查找字符串str中紧挨着‘-’后的两个数字字符,将其替换为99.
比如str = 'adbc33df-23djk';
要求将23替换成99.
我试了str1 = re.sub('-/d/d', '99', str); print str1;
结果会将‘-23’一起替换为99.
我试着参照perl的做法,加上圆括号:
str1 = re.sub('-(/d/d)', '99', str);
print str1;
照样不行。
哪位大神指导下?
感觉python在正则表达式上不及perl好用

1个回答

 str1 = re.sub('-\d\d', '-99', str)
damndarn
damndarn 应该是 str1 =re.sub(r'(.*-)[0-9]+(.*)',r'\g<1>99\g<2>',str);
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐