java - 高性能简单 Java 正则表达式

标签 java regex

我正在处理的部分代码使用一堆正则表达式来搜索一些简单的字符串模式(例如,像“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/

相关文章:

java - 嵌入式 Jetty 使用旧版本的 servlet API 运行

java相对路径

java - 在字符类中使用 $ anchor 不起作用

Python正则表达式困惑

java - 为什么java在将字符串的arraylist对象传递给泛型方法时推断可序列化

java - 尝试实现 AWS SDK 时出现异常

java - 无法从 Java 将文本添加到 mysql 表

python - 使用正则表达式进行 Scrapy 日期捕获

regex - 通过ssh运行的perl正则表达式命令行

c# - 在 OpenFileDialog 中过滤文件的正则表达式