我一般要求一种工具或方法来在正则表达式中找到导致不受控制的回溯的“热点”。我对所有格匹配、否定前瞻断言、原子组等有相当好的掌握,但我面临的情况是不清楚我的正则表达式到底哪里错了。
有问题的正则表达式是 PCRE 正则表达式;但我会为任何语言的任何指针感到高兴。
理想情况下,我希望看到一个工具可以突出显示正则表达式中的“热点”。我过去曾尝试为它创建一个包装器,perl -Mre=debug
但无法真正弄清楚我应该如何有效地处理它的输出。模糊地说,这个想法是针对一个正则表达式运行一个或多个输入字符串,并收集匹配器不断返回的正则表达式中的偏移量(可能还有字符串中的偏移量)。