正则引擎

来源:互联网 发布:联通h十是4g网络吗 编辑:程序博客网 时间:2024/04/28 19:34
部分程序及其所使用的正则引擎

DFA:awk(大部分版本),egrep(大部分),flex,lex,mysql,procmail。

传统型NFA:GNU Emacs,java,grep(大部分版本),less,more,.NET语言,PCRE library,Perl,PHP,Python,Ruby,sed(大多数版本),vi

POSIX NFA:mawak,Mortice Ken Systems'utliites,GNU Emace(明确指定时使用)

DFA/NFA混合:GNU awk,GNU grep/egrep,Tcl


其中,画龙点睛的是:
如果需要在“进行尝试”和“跳过尝试”之间选择,对于匹配优先量词,引擎会优先选择“进行尝试”,而对于忽略优先量词,会选择“跳过尝试”
距离当前最近储存的选项就是当本地失败强制回溯时返回的。使用原则是LIFO(last in out first,后进先出)。