正则表达式运算符(.. | .. ... .. | ..)的顺序

康斯坦丁·扎迪兰(Konstantin Zadiran)

(..|. .. .|..)运算符中表达式的优先级顺序是什么-从左到右,从右到左或其他?

维克多·史翠比维

从左到右,第一个备选匹配“胜利”,不检查其他。这是典型的NFA正则表达式行为。regular-expressions.info备用页面上提供了有关该行为的良好描述

请注意,RegexOptions.RightToLeft仅使正则表达式引擎从右到左检查输入字符串,修饰符不会影响正则表达式引擎如何处理模式本身。

让我说明一下:如果您有一个(aaa|bb|a)正则表达式,并尝试在bbacusing中找到一个匹配项,Regex.Match则将获得的值是bb因为a出现在之后bbb如果你使用Regex.Matches,你会得到所有比赛,都bba会在你的结果降落。

同样,从左到右检查正则表达式模式的事实清楚表明,在非锚定替代组内,替代的顺序很重要如果您使用(a|aa|aaa)regex进行匹配abbccaa,则第a一种选择是匹配a字符串中的每个(请参阅regex演示)。添加单词边界后,您可以按任何顺序放置替代项(请参阅另一个regex演示)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式查询的顺序

来自分类Dev

带有来自评估顺序或临时对象的预增量运算符的错误表达式?

来自分类Dev

占位符(mmddyyyy)的正则表达式,无特殊顺序

来自分类Dev

忽略不关心顺序的正则表达式中的换行符

来自分类Dev

以任何顺序匹配正则表达式

来自分类Dev

Django URL模式顺序和正则表达式

来自分类Dev

正则表达式以任何顺序捕获组

来自分类Dev

sed的正则表达式,字母顺序,无重复

来自分类Dev

正则表达式多个后置顺序

来自分类Dev

正则表达式-没有顺序空格

来自分类Dev

以任何顺序匹配正则表达式

来自分类Dev

Powershell管道和正则表达式,求值顺序

来自分类Dev

Python正则表达式匹配顺序html标签

来自分类Dev

使用正则表达式防止顺序重复的字符

来自分类Dev

正则表达式组颠倒顺序

来自分类Dev

用正则表达式以任何顺序查找单词

来自分类Dev

正则表达式仅表示特定的命中顺序

来自分类Dev

Python正则表达式匹配任何顺序

来自分类Dev

如何忽略正则表达式中的顺序?

来自分类Dev

正则表达式强制组顺序

来自分类Dev

使用正则表达式顺序匹配正则表达式,而不是JavaScript中的字符串顺序

来自分类Dev

Java正则表达式组OR运算符

来自分类Dev

OCaml | 正则表达式运算符

来自分类Dev

正则表达式OR运算符的计算方式

来自分类Dev

Ruby正则表达式:运算符和

来自分类Dev

Python正则表达式匹配OR运算符

来自分类Dev

Bash正则表达式=〜运算符

来自分类Dev

正则表达式分组与重复运算符

来自分类Dev

JavaScript正则表达式OR运算符