+:表示“1次或多次”,默认是贪婪的,会尽可能多地匹配,允许回溯。
++:才是占有模式,表示“1次或多次”,但不允许回溯(即匹配多少就是多少,不会给后面的表达式留机会)。
/a\w+3/:普通贪婪量词 +,匹配时会回溯。
/a\w++3/:占有量词 ++,匹配时不回溯,一旦匹配失败就整体失败。
其他占有量词:
*+:零次或多次,占有。
{m,n}+:m到n次,占有。
(量词后加上?) (量词后加上+)
* *? *+
? ?? ?+
+ +? ++
{M,} {M,}? {M,}+
{M,N} {M,N}? {M,N}+
{N} {N}? {N}+