(..|. .. .|..) 中正则表达式运算符的顺序
( 中正则表达式运算符的顺序..|. .. .|..) 遵循从左到右的优先顺序。这意味着第一个匹配的选项将成为结果,而其他选项将不会被评估。
此行为是非确定性有限自动机 (NFA) 正则表达式的典型行为。有关详细说明,请参阅regex-expressions.info 上的“Alternation”页面。
需要注意的是,RegexOptions.RightToLeft 标志仅影响正则表达式引擎检查输入字符串的方向,而不影响顺序
例如,使用正则表达式 (aaa|bb|a),将“bbac”与 Regex.Match 匹配会返回“bb”,因为“a”替代项出现在“bb”之后。但是,Regex.Matches 将返回“bb”和“a”。
此外,在非锚定替代组中,替代项的顺序很重要。例如,(a|aa|aaa) 匹配“abbccaa”将匹配每个“a”字符。但是,一旦添加了单词边界,顺序就变得无关紧要,如本正则表达式演示所示。
以上是正则表达式运算符的顺序如何影响交替组 (..|. .. .|..) 中的匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!