考虑这个简单的MWE:
s = 'foo bar bar'
我想使用re.sub
将其更改为:
t = 'foo1 bar1 bar1'
如果我想附加后缀X
,这将非常简单:
re.sub(r'(\w+)\b', r'\1{}'.format('X'), s)
'fooX barX barX'
但是,当我尝试替换数字时会出现问题:
re.sub(r'(\w+)\b', r'\1{}'.format(1), s)
因为这会产生error: invalid group reference
。现在,我理解为什么会这样 - 数字被插入到字符串中,字符串变为'\11'
,这将引用无效的捕获组。
有没有办法使用re.sub
并使其正常工作?
请注意,这只是一个简单的例子,我不是在寻找替代解决方案。