非回溯预测先行和追溯

更新:2007 年 11 月

积极的预测先行和追溯不回溯。也就是说,对其内容的处理方式与对非回溯 (?> ) 组的内容的处理方式相同。

因为预测先行和追溯始终是零宽度的,所以仅当捕获组出现在积极的预测先行和追溯中时,回溯行为才是可见的。例如,表达式 (?=(a*))\1a 永远找不到匹配,因为在预测先行内定义的组 1 占用了所有的字符“a”,而 \1a 又请求一个“a”。因为预测先行表达式不是回溯的,所以匹配引擎不会重试具有较少的“a”的组 1。

有关分组、预测先行和追溯构造的更多信息,请参见分组构造

请参见

其他资源

.NET Framework 正则表达式