Regular Expressions 用\ K模拟可变长度后视

示例

某些正则表达式类型(Perl,PCRE,Oniguruma,Boost)仅支持定长后视,但提供了该\K功能,可用于在模式开始时模拟变长后视。遇到a时\K,到此为止的匹配文本将被丢弃,并且仅将匹配以下 模式部分的文本\K保留在最终结果中。

ab+\Kc

等效于:

(?<=ab+)c


通常,形式为:

(subpattern A)\K(subpattern B)

最终类似于:

(?<=subpattern A)(subpattern B)

除非B子模式可以与A子模式匹配相同的文本-否则最终结果可能会稍有不同,因为A子模式仍然使用文本,与后面的真实外观不同。