用 K 模擬可變長度的 lookbehind
一些正規表示式風格(Perl, PCRE, Oniguruma, Boost)僅支援固定長度的 lookbehinds,但提供\K
功能,可用於在模式開始時模擬可變長度的 lookbehind。當遇到\K
,匹配的文字直到該點被丟棄,並且僅與模式匹配的部件中的文字以下 \K
保持在最終結果。
ab+\Kc
相當於:
(?<=ab+)c
一般來說,形式為:
(subpattern A)\K(subpattern B)
結束類似於:
(?<=subpattern A)(subpattern B)
除非 B 子模式可以匹配與 A 子模式相同的文字 - 你最終可能會得到微妙的不同結果,因為 A 子模式仍然使用文字,而不像真正的 lookbehind。