非回溯的向右合樣和向左合樣
更新:2007 年 11 月
右合樣 (Positive Lookahead) 和左合樣 (Positive Lookbehind) 不會回溯。也就是說,會以處理非回溯 (?> ) 群組內容的相同方式來處理它們的內容。
因為右、左合樣的寬度永遠為零,所以只有在擷取群組出現在向右、向左合樣範圍內時,才看得見回溯行為。例如,(?=(a*))\1a 運算式永遠不會找到符合的項目,這是因為在向右合樣內定義的群組 1 會用完所有的 "a" 字元,而接著 \1a 卻還需要一個 "a"。因為向右合樣運算式不會回溯,所以比對引擎不會重新嘗試具有較少 "a" 字元的群組 1。
如需群組、向右合樣和向左合樣建構的詳細資訊,請參閱群組建構。