小编tik*_*iki的帖子

为什么“ ab(cd | c)* d”完全匹配“ abcdcdd”,而“ ab(c | cd)* d”却不匹配?他们彼此一样

我试过这个正则表达式:

ab(cd|c)*d
Run Code Online (Sandbox Code Playgroud)

regex101RegExr网站上。它完全匹配此文本:

abcdcdd

现在,让我们在正则表达式中交换“ cd”“ c”

ab(c|cd)*d
Run Code Online (Sandbox Code Playgroud)

当我在网站上尝试此正则表达式时,我发现此正则表达式与同一文本不完全匹配。

regex引擎为什么不能识别出它们ab(cd|c)*d并且ab(c|cd)*d相同,我该如何说服ab(c|cd)*d匹配最长的字符串?


正则表达式: ab(cd|c)*d

完整文本匹配的13个步骤:abcdcdd


正则表达式: ab(c|cd)*d

9步匹配部分文本:abcd cdd

regex

4
推荐指数
1
解决办法
157
查看次数

标签 统计

regex ×1