如何检查Ruby 2.0 onigmo(或1.9 oniguruma)正则表达式是否包含诸如灾难性回溯之类的低效率?
如何针对字符串尝试使用Ruby 2.0或(1.9)正则表达式匹配的内部步骤?
答案 0 :(得分:3)
根据此页面,Regexbuddy允许检测它们:
Regexbuddy宽恕,因为它检测到它在圈内,并中止匹配尝试。其他正则表达式引擎(如.NET)将永远继续运行,而其他引擎则会因堆栈溢出而崩溃(如Perl,版本5.10之前)。
http://www.regular-expressions.info/catastrophic.html
(不确定信息的最新信息)
还发现了这个相关的问题:
对于ruby,似乎还可以启用其他编译标志:
在设置了几个特殊的编译器标志后,从源代码重新编译了Ruby 2.0(ruby-head):
ONIG_DEBUG_COMPILE
和ONIG_DEBUG_MATCH
http://patshaughnessy.net/2012/4/3/exploring-rubys-regular-expression-algorithm