在Python re.sub函数中,如何使用\ n语法引用组0?

只是一个学习者

在Pythonre.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?

Isaactfa

它不是。但是,您可以在整个表达式周围放置一个捕获组,并用\1引用内部组\2

>>> re.sub(r"((\d)\2)", r"\1\2", "aa11bb22cc33")
>>> 'aa111bb222cc333'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章