【问题标题】:Python Regex - Unknown extension "?>"Python 正则表达式 - 未知扩展名 \"?>\"
【发布时间】:2022-12-18 03:34:50
【问题描述】:

我有一个简单的正则表达式模式,python re 库声称它无法解释。具体是? + 一些字符。这是我试图编译的正则表达式模式:

  • (?>\d\d){1,2}

完整代码sn-p:

import re
restr = r"\(?>\d\d){1,2}"
string = "12"

regex = re.compile(restr)

regex.search(string)

错误返回:

File "C:\Users\~USER~\AppData\Local\Programs\Python\Python39\lib\sre_parse.py", line 823, in _parse
    raise source.error("unknown extension ?" + char,
re.error: unknown extension ?> at position 1

我到处搜索,似乎找不到问题的原因。非常感谢所有帮助。我已经阅读了有关 re 标志和不同匹配方法的信息,但它只是不起作用的字符。

【问题讨论】:

  • ? 在正则表达式中有特殊含义所以不应该转义 - \?
  • 您使用的是什么 Python 版本? Python supports atomic grouping and possessive quantifiers starting with Python version 3.11.
  • 使用版本 3.9。刚刚更新到 3.11,它工作得很好。阅读 3.11 的注释,你是对的。请发布您的建议作为答案,我会将其标记为解决方案

标签: python regex


【解决方案1】:

Python 只支持原子分组和所有格量词from version 3.11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 2010-09-19
    • 1970-01-01
    • 2021-01-30
    • 2021-09-07
    • 2016-09-26
    • 2013-03-18
    相关资源
    最近更新 更多