如何替换foobar
为foo123bar
?
这不起作用:
>>> re.sub(r'(foo)', r'\1123', 'foobar')
'J3bar'
这有效:
>>> re.sub(r'(foo)', r'\1hi', 'foobar')
'foohibar'
我认为,遇到时,这是一个普遍的问题\number
。谁能给我一个关于如何处理的提示?
2
该问题已添加到“组”下的“ 堆栈溢出正则表达式常见问题解答 ”中。
—
aliteralmind 2014年
这个问题花了我很长时间,因为它没有“捕获组”或“编号组参考”这两个术语,但我终于来了,很高兴您提出来。
—
Mark Ch
您的问题是r'\ 112'被解释为八进制文字0112,ASCII'J'或十进制74。看不到如何强制执行反向引用'\ 1'在字符串连接或
—
smci
''.join()
与问题有微小偏差,可以通过任何方式引用所有组匹配项,即r'\ <对于所有匹配项> hi'?
—
Sayan Dey