如何在Python的正则表达式子中引用整个捕获[重复]

问题描述 投票:0回答:1

如果我这样做:

text = re.sub(r"^(\w+[\t ]+)+\w+\(.*\);$", r"// \0", text, flags=re.MULTILINE)

然后

\0
实际上被替换为 NULL 字节,而不是像我曾经使用过的每个其他正则表达式系统中的标准那样替换整个捕获组。这种令人惊讶的行为已记录,但它没有给出解决方案:

如果 number 的第一位是 0,或者 number 的长度是 3 个八进制数字,则不会解释为组匹配,而是解释为八进制值 number 的字符。

Python 支持这个标准功能吗?

(需要明确的是,我已经知道如何使用

\1
解决这个问题。)

另请注意,这个问题包含答案,但它非常清楚不是重复的问题,即使它的答案之一也回答了这个问题。因此我为 Google 重新发布此内容。

python regex
1个回答
0
投票

您可以根据文档使用

\g<0>

反向引用 \g<0> 替换 RE 匹配的整个子字符串。

© www.soinside.com 2019 - 2024. All rights reserved.