(..|. .. .|..)运算符中表达式的优先级顺序是什么- 从左到右,从右到左或其他什么?
Wik*_*żew 15
从左到右,第一个替代匹配"胜利",其他未检查.这是典型的NFA正则表达式行为.regular-expressions.info Alternation页面提供了对该行为的良好描述.
请注意,RegexOptions.RightToLeft只有正则表达式引擎从右到左检查输入字符串,修饰符不会影响正则表达式引擎处理模式本身的方式.
让我举例说明:如果你有一个(aaa|bb|a)正则表达式并尝试在bbac使用中找到一个匹配,Regex.Match你将获得的值是bb因为a替代后出现bbb.如果你使用Regex.Matches,你会得到所有比赛,都bb和a会在你的结果降落.
此外,从左到右检查正则表达式模式的事实清楚地表明,在非锚定的替代组内,替代的顺序很重要.如果使用(a|aa|aaa)正则表达式进行匹配abbccaa,则第一个a替代方法将匹配a字符串中的每个(请参阅正则表达式演示).添加单词边界后,您可以按任何顺序放置替代项(请参阅另一个正则表达式演示).
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |