7

RegexBuddy 是一个很棒的工具。我想要的是一个优化正则表达式的工具;接受一些表达式并将它们归结为更小的数字。有什么建议吗?

4

4 回答 4

9

正则表达式没有灵丹妙药。简单的交替冗余可能能够排除一些交替,但仅此而已。

总体而言,不能保证速度会提高,甚至不能保证速度提高。

最好的优化是编写正则表达式的经验。写得不好的正则表达式总是很糟糕。一个编写良好且经过测试的人不会想冒险进行程序优化。在使用现代扩展正则表达式时尤其如此。

于 2012-04-26T16:30:55.817 回答
6

如果您使用 perl,则可以使用Regexp::OptimizerRegexp::Assemble

我不知道有任何在线工具可以满足您的要求。

于 2012-04-26T15:27:48.623 回答
0

当您使用正则表达式时,它将被编译,然后是您指示它执行的更快版本。

例如,编译器将不知道您是否犯了错误,这会产生许多后退或任何事情。RegexBuddy 是要走的路,找出正则表达式会做什么,这样你就可以让你的模式更精确。

于 2012-04-26T15:25:09.793 回答
0

为 Javascript、Python 和 PCRE 正则表达式引擎尝试Debuggex 。它显示了图解流程。我们可以在此基础上进一步优化。

接下来,我们有Regex101 调试器,它带我们逐步回放正则表达式匹配。

于 2019-08-21T08:33:58.330 回答