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

标签 python regex python-3.x

我不确定为什么这不起作用。也许我在 Python 正则表达式中遗漏了一些东西。

这是我的正则表达式和我希望它匹配的示例字符串:

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

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

谢谢!

最佳答案

由于 \ 的存在,您必须将字符串标记为原始字符串,方法是在正则表达式前面放置一个 r:

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

关于python - Python 中的正则表达式反向引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9853167/

相关文章:

python - 如何在 tensorflow 中处理不同的队列批量大小和馈送值批量大小?

python - Python 类中的传递值分配

java - 我如何使用 .properties 文件或数据库中的正则表达式指定 Hibernate "@Pattern"注释

python - 找出数组中的最小数

python - 无法从 cPanel cron 作业调用 Python 3

python - Odoo Onchange 方法不适用于 Many2one 字段

python - 如何使用 pymysql 从多个 select 语句中获取结果

REGEXP_LIKE 没有选择正确的结果

python - 使用 Python 从字符串中提取值

Python线程调度