gpt4 book ai didi

regex - Perl 正则表达式的优先级规则是什么?

转载 作者:行者123 更新时间:2023-12-04 19:01:48 26 4
gpt4 key购买 nike

我找不到 Perl regular expressions 的优先规则的官方引用资料.我能找到的只有Know the precedence of regular expression operators .但是,它不是perldoc 给出的官方引用。 .

最佳答案

正则表达式只有两个二元运算符,其中一个是隐式的,而不是用符号表示。正则表达式也有许多一元运算符,但由于其操作数的限制,它们的优先级没有意义。这使得谈论优先级真的很奇怪。

使用以下语句传达您寻求的信息会更简单:

  • 量词修饰单个原子。
  • 量词修饰符修改单个量词。
  • 除了它们所在的括号外,交替是没有限制的。

  • 以上信息在 perlretut中以一种或另一种方式传达.

    也就是说,可以建立一个优先表。由于上述语句传达了您需要的所有信息,因此可以根据它们构建优先级表。它是以下内容:
  • 原子(例如 a\n\^.^\w[...]\1、|70、|7914|5|6|7914|40
  • 后缀一元运算符(量词和量词修饰符)
  • (可能量化的)原子之间的隐式“后继”运算符
  • 交替

  • 这与您链接到的页面中的图表相匹配。

    为了好玩,以下是 BNF:
    pattern              ::= <alternation>

    alternation ::= <sequence> <alternation2>
    alternation2 ::= "|" <alternation> | ""

    sequence ::= <quantified_atom> <sequence> | ""

    quantified_atom ::= <atom> <quantified_atom2>
    quantified_atom2 ::= <modified_quantifier> | ""
    modified_quantifier ::= <quantifier> <modified_quantifier2>
    modified_quantifier2 ::= <quantifier_modifier> | ""

    关于regex - Perl 正则表达式的优先级规则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837616/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com