回溯在占有量词中的应用

4

之前我发布了一个有关正则表达式的问题,结果在Java中导致stackoverflow错误。我的正则表达式很贪婪,许多人建议在正则表达式中使用占有量词。因此,我开始学习正则表达式中的占有量词。

我尝试匹配双引号之间的字符串。我的正则表达式是

"([^\\"]|\\.)++"

我尝试匹配字符串
"Hello I am \" chitti"

在匹配过程中存在回溯。我使用http://regex101.com/#PCRE进行了测试。正则表达式链接为REGEX 101 LINK

enter image description here

请问为什么步骤6、8、10等涉及回溯?

1个回答

3
那里不应该有回溯。我希望(即RegexBuddy显示),会在\"和最后一个"处回溯,但不是在这些位置。
也许regex101.com显示BACKTRACK消息时,正则表达式引擎明确放弃了可能的回溯位置,但这只是我的猜测。 RegexBuddy截图

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接