在占有量词中的回溯

时间:2014-02-21 06:32:11

标签: java regex regex-greedy

之前我发布了一个关于正则表达式的问题,这导致了java中的stackoverflow错误。我的正则表达式很贪婪,许多人评价在正则表达式中使用占有量词。所以,我开始在正则表达式中学习占有量词。

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

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

我尝试匹配字符串

"Hello I am \" chitti"

虽然匹配有回溯。我使用http://regex101.com/#PCRE进行了测试。正则表达式的链接是REGEX 101 LINK

enter image description here

有人可以解释为什么有一个回溯涉及步骤6,8,10等

1 个答案:

答案 0 :(得分:3)

那里不应该有回溯。我希望(和RegexBuddy演示)在\"和最后"回溯,但不在这些位置。

RegexBuddy screenshot

当正则表达式引擎明确丢弃潜在的回溯位置时,也许regex101.com也会显示BACKTRACK消息,但这只是我的推测。