解决灾难性回溯的工具[重复]

2024-01-08

我一般要求提供一种工具或方法来查找正则表达式中导致不受控制的回溯的“热点”。我对所有格匹配、否定前瞻断言、原子组等有相当好的掌握,但我面临着一种情况,不清楚我的正则表达式到底错在哪里。

有问题的正则表达式是 PCRE 正则表达式;但我会很高兴获得任何语言的任何指示。

理想情况下,我希望看到一个能够突出显示正则表达式中的“热点”的工具。我过去曾尝试创建一个包装器perl -Mre=debug但无法真正弄清楚我应该如何有效地处理其输出。模糊地说,这个想法是针对正则表达式运行一个或多个输入字符串,并收集匹配器不断返回的正则表达式中的偏移量(也可能是字符串中的偏移量)。


达米安康威的全新正则表达式::调试器 https://metacpan.org/module/Regexp::DebuggerPerl 的模块可让您观看正则表达式与字符串匹配的动画。它应该可以很容易地发现过度的回溯。只需安装它并使用附带的rxrx脚本,可让您输入正则表达式和与之匹配的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决灾难性回溯的工具[重复] 的相关文章

随机推荐