我试过这个正则表达式:
ab(cd|c)*d
Run Code Online (Sandbox Code Playgroud)
在regex101和RegExr网站上。它完全匹配此文本:
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 ×1