Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python re.compile按字面意思使用了不正确的]而不是抛出错误_Python_Regex - Fatal编程技术网

Python re.compile按字面意思使用了不正确的]而不是抛出错误

Python re.compile按字面意思使用了不正确的]而不是抛出错误,python,regex,Python,Regex,因此,如果我有一个正则表达式,例如:“[ab]c]”,那么我希望re.compile()抛出一个错误,说缺少“[”,但它实际上使用后者“]”,并将“ac]”匹配为正确的字符串 我不遵循这种行为,因此无法向我的正则表达式中添加用户可以输入的验证。 请帮助。在Python模仿的版本中,它说: 任何单个字符都匹配自身,除非它是 此处描述的具有特殊含义的元字符或 上面 列出了很多很多元字符,但特别是一个]似乎不是元字符;只有完整的[…]是可用的。因此,根据本规范,您遇到的行为似乎是正确的 给出了它声称的

因此,如果我有一个正则表达式,例如:“[ab]c]”,那么我希望re.compile()抛出一个错误,说缺少“[”,但它实际上使用后者“]”,并将“ac]”匹配为正确的字符串

我不遵循这种行为,因此无法向我的正则表达式中添加用户可以输入的验证。 请帮助。

在Python模仿的版本中,它说:

任何单个字符都匹配自身,除非它是 此处描述的具有特殊含义的元字符或 上面

列出了很多很多元字符,但特别是一个
]
似乎不是元字符;只有完整的
[…]
是可用的。因此,根据本规范,您遇到的行为似乎是正确的

给出了它声称的元字符的全面列表,这些元字符包括:

\ ^ $ . [ | ( ) ? * + {
并注意到“大多数角色在一个模式中代表他们自己”

我怀疑这与尽可能使正则表达式简洁的想法有关,因为它几乎没有无效的模式。

在Python模仿的中,它说:

任何单个字符都匹配自身,除非它是 此处描述的具有特殊含义的元字符或 上面

列出了很多很多元字符,但特别是一个
]
似乎不是元字符;只有完整的
[…]
是可用的。因此,根据本规范,您遇到的行为似乎是正确的

给出了它声称的元字符的全面列表,这些元字符包括:

\ ^ $ . [ | ( ) ? * + {
并注意到“大多数角色在一个模式中代表他们自己”

我怀疑这与尽可能简化正则表达式的想法有关,因为它几乎没有无效的模式。

在正则表达式中:

  • []
    将出现错误:字符类不完整
  • ]
    逐字匹配字符]
  • [
    将出现错误:字符类不完整
这是一个解析限制,有许多括号内的符号,并且不是特定于python的。如果您在REGEX中启动了一个meta sque(
[
),则:

  • []
    将出现错误:字符类不完整
  • ]
    逐字匹配字符]
  • [
    将出现错误:字符类不完整

这是一个解析限制,有很多括号内的符号,它不是python特有的。如果你开始一个元静噪(
[
FWIW.),可能它实际上是“应该”工作的方式?问题是什么?你不能简单地不使用“无效”正则表达式来修复什么?(“医生,我这样做会很痛”-“那就不要这样做”)(是的,这是完全正确的行为)我想你需要
[ab\]c]
行为正确这看起来像是xy问题的一个例子。他没有询问如何匹配他想要匹配的文本,而是询问如何在其中包含括号brackets@Racialz这可能是一个问题,我如何用
regex
隐藏在风中解析这个HTML…FWIW。,也许它实际上是“假定”的方式工作?问题是什么?你不能简单地不使用“无效”正则表达式来解决什么问题?(“医生,我这样做很痛苦”-“那就不要这样做”)(是的,这是完全正确的行为)我想你需要
[ab\]c]
行为正确这看起来像是xy问题的一个例子。他没有询问如何匹配他想要匹配的文本,而是询问如何在其中包含括号brackets@Racialz这可能是一个问题,我如何用
regex
隐藏在风中解析这个HTML…“这就是搜索变得贪婪的原因”-这意味着什么?“这就是为什么搜索变得贪婪”——这是什么意思?