将re.sub与捕获组引用和数字一起使用

时间:2017-11-14 18:49:27

标签: python regex capture-group

考虑这个简单的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并使其正常工作?

请注意,这只是一个简单的例子,我不是在寻找替代解决方案。

0 个答案:

没有答案