正则表达式python re.sub

时间:2015-09-02 04:09:04

标签: python

以下是三个需要稍作修改的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

1 个答案:

答案 0 :(得分:1)

在第一个示例中,您没有使用原始字符串。这意味着您用A \ x01(打印'\ 1'输出\ x01)替换了您的字符串,这是您应该看到的输出 在第三个例子中,您使用了原始字符串。这意味着re.sub接收到A \ 1(而不是\ x01)作为输入,它将\ 1替换为它在源字符串中找到的第一个组 第二个例子并不真正相关。你只需用A

替换你的字符串