我发现非贪婪的正则表达式匹配只会在锚定到前端时变为非贪婪的,而不是锚定到末尾:$echoabcabcabc|perl-ne'print$1if/^(a.*c)/'abcabcabc#OK,greedymatch$echoabcabcabc|perl-ne'print$1if/^(a.*?c)/'abc#YES!non-greedymatch现在看看这个,当锚定到最后时:$echoabcabcabc|perl-ne'print$1if/(a.*c)$/'abcabcabc#OK,greedymatch$echoabcabcabc|perl-ne'print$1if/(a.*?c)$/'a
我发现非贪婪的正则表达式匹配只会在锚定到前端时变为非贪婪的,而不是锚定到末尾:$echoabcabcabc|perl-ne'print$1if/^(a.*c)/'abcabcabc#OK,greedymatch$echoabcabcabc|perl-ne'print$1if/^(a.*?c)/'abc#YES!non-greedymatch现在看看这个,当锚定到最后时:$echoabcabcabc|perl-ne'print$1if/(a.*c)$/'abcabcabc#OK,greedymatch$echoabcabcabc|perl-ne'print$1if/(a.*?c)$/'a