Python re.compile按字面意思使用了不正确的]而不是抛出错误
因此,如果我有一个正则表达式,例如:“[ab]c]”,那么我希望re.compile()抛出一个错误,说缺少“[”,但它实际上使用后者“]”,并将“ac]”匹配为正确的字符串 我不遵循这种行为,因此无法向我的正则表达式中添加用户可以输入的验证。 请帮助。在Python模仿的版本中,它说: 任何单个字符都匹配自身,除非它是 此处描述的具有特殊含义的元字符或 上面 列出了很多很多元字符,但特别是一个Python re.compile按字面意思使用了不正确的]而不是抛出错误,python,regex,Python,Regex,因此,如果我有一个正则表达式,例如:“[ab]c]”,那么我希望re.compile()抛出一个错误,说缺少“[”,但它实际上使用后者“]”,并将“ac]”匹配为正确的字符串 我不遵循这种行为,因此无法向我的正则表达式中添加用户可以输入的验证。 请帮助。在Python模仿的版本中,它说: 任何单个字符都匹配自身,除非它是 此处描述的具有特殊含义的元字符或 上面 列出了很多很多元字符,但特别是一个]似乎不是元字符;只有完整的[…]是可用的。因此,根据本规范,您遇到的行为似乎是正确的 给出了它声称的
]
似乎不是元字符;只有完整的[…]
是可用的。因此,根据本规范,您遇到的行为似乎是正确的
给出了它声称的元字符的全面列表,这些元字符包括:
\ ^ $ . [ | ( ) ? * + {
并注意到“大多数角色在一个模式中代表他们自己”
我怀疑这与尽可能使正则表达式简洁的想法有关,因为它几乎没有无效的模式。在Python模仿的中,它说:
任何单个字符都匹配自身,除非它是
此处描述的具有特殊含义的元字符或
上面
列出了很多很多元字符,但特别是一个]
似乎不是元字符;只有完整的[…]
是可用的。因此,根据本规范,您遇到的行为似乎是正确的
给出了它声称的元字符的全面列表,这些元字符包括:
\ ^ $ . [ | ( ) ? * + {
并注意到“大多数角色在一个模式中代表他们自己”
我怀疑这与尽可能简化正则表达式的想法有关,因为它几乎没有无效的模式。在正则表达式中:
将出现错误:字符类不完整[]
逐字匹配字符]]
将出现错误:字符类不完整[
[
),则:
将出现错误:字符类不完整[]
逐字匹配字符]]
将出现错误:字符类不完整[
这是一个解析限制,有很多括号内的符号,它不是python特有的。如果你开始一个元静噪(
[
FWIW.),可能它实际上是“应该”工作的方式?问题是什么?你不能简单地不使用“无效”正则表达式来修复什么?(“医生,我这样做会很痛”-“那就不要这样做”)(是的,这是完全正确的行为)我想你需要[ab\]c]
行为正确这看起来像是xy问题的一个例子。他没有询问如何匹配他想要匹配的文本,而是询问如何在其中包含括号brackets@Racialz这可能是一个问题,我如何用regex
隐藏在风中解析这个HTML…FWIW。,也许它实际上是“假定”的方式工作?问题是什么?你不能简单地不使用“无效”正则表达式来解决什么问题?(“医生,我这样做很痛苦”-“那就不要这样做”)(是的,这是完全正确的行为)我想你需要[ab\]c]
行为正确这看起来像是xy问题的一个例子。他没有询问如何匹配他想要匹配的文本,而是询问如何在其中包含括号brackets@Racialz这可能是一个问题,我如何用regex
隐藏在风中解析这个HTML…“这就是搜索变得贪婪的原因”-这意味着什么?“这就是为什么搜索变得贪婪”——这是什么意思?