在这篇文章中,据说预编译正则表达式将提高脚本性能。作者通过性能测试证明了这一点。但是,据我了解,这篇文章是在讨论重复使用正则表达式的情况。如果脚本中有很多正则表达式,但每个都只使用一次怎么办?预编译在整个脚本中只使用一次的正则表达式是否会带来性能优势?
问问题
6790 次
3 回答
3
我不相信您链接的性能测试是决定性的。如果查看结果,差异可以忽略不计,因为正则表达式不够复杂。看看这个测试以获得更好的答案。
无论哪种方式,如果多次使用正则表达式,存储正则表达式值只会提高性能。这种性能提升完全是由于正则表达式本身的初始编译开销。如果您将正则表达式存储在变量中,那么它仍然会在第一次被编译,就像第一次编译文字一样。当第二次使用存储的正则表达式并且它已经编译时,就会发生差异,而文字正则表达式必须再次编译。
于 2014-02-20T15:06:14.193 回答
1
如果它只使用一次 - 那么只需使用正则表达式文字。
你的观点是正确的——只有当你经常使用相同的正则表达式时才有意义。
于 2013-02-18T23:40:16.550 回答