TRE
Core Facts
TRE is a lightweight regular expression engine developed by Ville Laurikari that uses a non-backtracking matching algorithm.
TRE is a lightweight C-language regular expression library developed by Ville Laurikari that supports approximate matching and avoids the backtracking performance pitfalls of traditional regular expression engines.
TRE支持近似匹配(approximate matching),可以在允许一定编辑距离的情况下进行模糊匹配
All Facts (17)
TRE is a lightweight regular expression engine developed by Ville Laurikari that uses a non-backtracking matching algorithm.
65%VerifiedTRE is a lightweight C-language regular expression library developed by Ville Laurikari that supports approximate matching and avoids the backtracking performance pitfalls of traditional regular expression engines.
65%UnverifiedTRE不支持反向引用(backreferences)特性
90%UnverifiedTRE的匹配时间与输入长度成线性关系,天然免疫ReDoS攻击
90%UnverifiedTRE不依赖回溯机制进行正则匹配,匹配时间与输入字符串长度呈线性关系
90%UnverifiedTRE项目始于2001年
85%UnverifiedTRE采用的是Ville Laurikari在其2000年硕士论文中提出的tagged DFA方法
85%UnverifiedTRE正则表达式库由芬兰开发者Ville Laurikari开发,采用确定性有限自动机(DFA)算法,保证匹配时间与输入长度呈线性关系
85%Unverified实验结果表明,面对(a+)+$类恶意正则表达式模式,Python re模块会长时间挂起,而TRE能够快速返回结果
85%UnverifiedRedis的创始人Salvatore Sanfilippo(antirez)将TRE集成到Redis中,主要是为了支持模糊字符串匹配能力
85%UnverifiedTRE正则表达式库由芬兰开发者Ville Laurikari编写
85%UnverifiedTRE采用了Laurikari在其博士论文中提出的带标记NFA(Tagged NFA)模拟算法
85%UnverifiedTRE在应对ReDoS攻击时表现远优于Python标准库的re模块
85%UnverifiedTRE在处理能让Python re模块陷入数十秒甚至数分钟计算的恶意正则模式时,能在毫秒级完成处理
85%Partially VerifiedTRE支持近似匹配(approximate matching),可以在允许一定编辑距离的情况下进行模糊匹配
75%Partially VerifiedTRE是由芬兰开发者Ville Laurikari开发的POSIX兼容正则表达式库,不使用回溯算法
75%Partially VerifiedTRE采用基于TNFA(Tagged NFA)的算法,时间复杂度为O(n·m),从根本上消除了回溯带来的指数级性能风险
65%