从左到右,第一个备选匹配“胜利”,不检查其他。这是典型的NFA正则表达式行为。在regular-expressions.info 备用
页面上提供了有关该行为的良好描述。
请注意,
RegexOptions.RightToLeft仅使regex引擎从右到左检查输入字符串,修饰符不会影响regex引擎如何处理模式本身。
让我说明一下:如果您有一个
(aaa|bb|a)正则表达式,并尝试在
bbacusing中找到一个匹配项,
Regex.Match则将获得的值是
bb因为
a出现在之后
bbb。如果你使用
Regex.Matches,你会得到所有比赛,都
bb和
a会在你的结果降落。
同样,从左到右检查正则表达式模式的事实清楚表明, 在非锚定替代组内,替代的顺序很重要
。如果您使用
(a|aa|aaa)regex进行匹配
abbccaa,则第
a一种选择是匹配
a字符串中的每个(请参阅regex演示)。添加单词边界后,您可以按任何顺序放置替代项(请参阅另一个regex演示)。



