以下是三个需要稍作修改的reqular表达式。任何人都可以解释这种差异吗?
# 1.
print(re.sub(r"a(\d{4})","A\1","a2134"))
# Output-->A.
# 2.
print(re.sub(r"a(\d{4})","A","a2134"))
# Output-->A
# 3.
print(re.sub(r"a(\d{4})",r"A\1","a2134"))
# Output-->A2134
答案 0 :(得分:1)
在第一个示例中,您没有使用原始字符串。这意味着您用A \ x01(打印'\ 1'输出\ x01)替换了您的字符串,这是您应该看到的输出 在第三个例子中,您使用了原始字符串。这意味着re.sub接收到A \ 1(而不是\ x01)作为输入,它将\ 1替换为它在源字符串中找到的第一个组 第二个例子并不真正相关。你只需用A
替换你的字符串