我正在处理的部分代码使用一堆正则表达式来搜索一些简单的字符串模式(例如,像“foo[0-9]{3,4} bar”这样的模式)。目前,我们使用静态编译的 Java 模式,然后调用 Pattern#matcher
来检查字符串是否包含与模式的匹配项(我不需要匹配项,只是一个 boolean 值指示是否存在一场比赛)。这会导致影响性能的显着内存分配量。
是否有更好的 Java 正则表达式匹配选项,速度更快或至少不会在每次搜索字符串中的模式时分配内存?
最佳答案
尝试使用 matcher.reset("newinputtext")
方法来避免每次调用 Pattern.matcher 时都创建新的匹配器。
关于java - 高性能简单 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7505160/