我正在看这个问题Greedy vs. Reluctant vs. Possessive Quantifiers
我可以看到*+
和*
如何匹配零次或多次,但占有量词*+
将尽可能地向前匹配..而*
将做.*
并回溯。我可以接受*+
字符串很长时.*
会更有效率。
我很感兴趣,但是当他们给出不同的结果时。
我看到了评论
@moodboom,有零病例(数学事实)在哪里 占有量词将产生一个不会产生的匹配 通过简单的贪婪量词。偶尔会出现这种情况 当贪婪量词产生匹配时,将产生不匹配。 对于所有其他情况(贪婪和占有欲产生相同的情况) 结果),占有量词给出了性能提升。 - 通配符 5月5日23:00
我非常有兴趣看到这种情况得到了扩展,特定情况下占有欲和贪婪量词会产生不同的结果。
对比*+
和*
我也会对不同结果的情况感兴趣,对比?+
与?
答案 0 :(得分:2)
我找到了一个案例,但我不确定解释和针对性。而且我认为还有很多其他案例。
.*+
经过测试:
foob
只有贪婪匹配它。
占有将首先匹配整个字符串(b
),然后尝试匹配$
字符,但只查找字符串的结尾(b
)。< / p>
Greedy也会匹配整个字符串,但后来向后看,直到找到第一个function getFromSomewhere(arg1) {
var newName = arg1 + "sampleWord";
window[newName] = [];
}
getFromSomewhere("blip");
console.log(blipsampleWord); // You'd get []
字符。它会找到它。
答案 1 :(得分:0)