影响 NFA 类正则表达式(常见语言:GNU Emacs,Java,ergp,less,more,.NET语言,PCRE library,Perl,PHP,Python,Ruby,sed,vi ) 其实主要是它的...我们简单方法是,正则表达式:.*? (测试工具使用了:regexBuddy)
总共花费 115 步,回溯了:48 次。 因为我们使用 ....正则表达式:]+>[^
19 步,0 次回溯! ,步骤只有原先的 15 %左右,性能几倍的提升了!...从上面我们看到,不同正则表达式,对通用字符配平,性能相差会很大。减少“回溯”是最好的方法,减少回溯其中最主要的方法是:”用最小范围的元字符,尽量避免用过大的元字符!”。...一般规律如下:
使用正确的边界匹配器(^、$、\b、\B等),限定搜索字符串位置
使用具体的元字符、字符类(\d、\w、\s等) ,少用”.”字符
使用正确的量词(+、*、?