常用的正则表达式函数在处理 ‘\|’ 与重复结构时会按需进行回溯,但只会持续到找到 某一个 匹配为止。找到后便立即成功并报告首个匹配结果。
本节介绍另一类搜索函数,它们会按照 POSIX 标准对正则表达式匹配执行完整回溯。这类函数会持续回溯,直至尝试所有可能并找到全部匹配,从而按照 POSIX 要求报告 最长匹配。这种方式速度慢得多,因此只在确实需要最长匹配时使用。
尽管名称如此,这些 POSIX 搜索与匹配函数使用的是 Emacs 正则表达式,而非 POSIX 正则表达式。See Emacs 与 POSIX 正则表达式对比。同时,它们也不正式支持非贪婪重复运算符(see non-greedy)。原因是 POSIX 回溯与非贪婪重复的语义相冲突。
该函数与 re-search-forward 类似,区别在于它会按照 POSIX 标准对正则表达式匹配执行完整回溯。
该函数与 re-search-backward 类似,区别在于它会按照 POSIX 标准对正则表达式匹配执行完整回溯。
该函数与 looking-at 类似,区别在于它会按照 POSIX 标准对正则表达式匹配执行完整回溯。
该函数与 string-match 类似,区别在于它会按照 POSIX 标准对正则表达式匹配执行完整回溯。