在 Python 中 re.sub()
的替换参数,我想引用整个匹配的字符串,即组 0。但是,它没有按预期工作。
>>> re.sub(r"(\d)\1", r"\0\1", "aa11bb22cc33")
'aa\x001bb\x002cc\x003'
请注意 \1
确实正确引用了组 1。我必须使用 \g<n>
引用组 0 的语法。
>>> re.sub(r"(\d)\1", r"\g<0>\1", "aa11bb22cc33")
'aa111bb222cc333'
我想知道是否可以使用\n
在替换参数中引用组 0 的语法?
最佳答案
事实并非如此。不过,您可以在整个表达式周围放置一个捕获组,并使用 \1
引用该捕获组,并使用 \2
引用内部组。
>>> re.sub(r"((\d)\2)", r"\1\2", "aa11bb22cc33")
>>> 'aa111bb222cc333'
关于python - 在Python re.sub函数中,如何使用\n语法引用组0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55909025/