Python中的正则表达式反向引用问题

时间:2012-03-24 16:05:02

标签: python regex python-3.x

我不确定为什么这不起作用。也许我遗漏了Python正则表达式。

这是我的正则表达式以及我想要匹配的示例字符串:

    PHONE_REGEX        = "<(.*)>phone</\1>"
    EXAMPLE            = "<bar>phone</bar>"

我单独测试了这个匹配,但失败了。我使用了一个在线正则表达式测试仪,它匹配。我只是遗漏了Python正则表达式特有的东西吗?

谢谢!

1 个答案:

答案 0 :(得分:6)

您必须将字符串标记为原始字符串,因为\位于正则字符串前面,因此r位于正则表达式前面:

m = re.match(r"<(.*)>phone</\1>", "<bar>phone</bar>")