在正则表达式替换模式中,反向引用看起来像\1
. 如果您想在该反向引用之后包含一个数字,这将失败,因为该数字被认为是反向引用编号的一部分:
# replace all twin digits by zeroes, but retain white space in between
re.sub(r"\d(\s*)\d", r"0\10", "0 1")
>>> sre_constants.error: invalid group reference
替换模式r"0\1 0"
可以正常工作,但在失败的示例中,反向引用\1
被解释为\10
.
如何将数字与它之前'0'
的反向引用分开?\1