\ 0在re.sub()中不起作用。怎么样?

时间:2013-10-09 14:17:52

标签: python regex

在Python中,

re.sub('(ab)c', r'\1d', 'xxxabcxxx') 

让我回归'xxxabdxxx'

您希望re.sub('(ab)c', r'\0d', 'xxxabcxxx')返回'xxxabcdxxx'。也就是说,您希望它的工作方式与m.group(0)类似。

但是,这不受支持。 http://bugs.python.org/issue17426#msg184210

在不使用re.sub('(ab)c', r'\0d', 'xxxabcxxx')的情况下,实现re.sub()应该实现的目标的简单方法是什么?

1 个答案:

答案 0 :(得分:7)

使用\g<0>。您也可以将\g<1>等用于其他群组,但0是完整匹配。

文档中解释了这一点:http://docs.python.org/2/library/re.html#re.sub