貪婪和懶惰的量詞
貪婪
一個貪婪的量詞總是試圖通過回溯探索更短的在匹配前重複子圖案多次越好。
通常,貪婪模式將匹配最長的字串。
預設情況下,所有量詞都是貪婪的。
怠惰
一個懶惰的 (也稱為非貪婪或不願 )量詞總是試圖重複子圖案,少次地,通過擴張探索再在匹配前。
通常,惰性模式將匹配最短的可能字串。
要使量詞變得懶惰,只需將 ?
附加到現有量詞,例如+?
,{0,5}?
。
貪婪和懶惰的概念只存在於回溯引擎中
貪婪/惰性量詞的概念僅存在於回溯正規表示式引擎中。在非回溯正規表示式引擎或符合 POSIX 的正規表示式引擎中,量詞只指定重複的上限和下限,而不指定如何找到匹配 - 這些引擎總是匹配最左邊最長的字串。