Java是否执行任何正则表达式优化;如果是的话,他们是什么?
我对正则表达式引擎级别的优化以及更一般的使用级别优化感兴趣。
(例如,在其他一些语言中,常用的正则表达式被缓存以避免重新编译,但到目前为止我所读到的内容暗示Java不会自动执行此操作?)
要明确:
我不询问如何优化实际的正则表达式本身。我正在询问可能在正则表达式引擎中自动发生的操作。
答案 0 :(得分:2)
根据java.util.regex.Pattern的source code,compile()方法不会尝试任何缓存优化。
接近结尾时,有一个代码注释指出peephole optimization的使用。