在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?
它不是。但是,您可以在整个表达式周围放置一个捕获组,并用\1
和引用内部组\2
。
>>> re.sub(r"((\d)\2)", r"\1\2", "aa11bb22cc33")
>>> 'aa111bb222cc333'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句