【问题标题】:Does java.util.regex cache the compiled patterns?java.util.regex 是否缓存已编译的模式?
【发布时间】:2014-04-13 11:37:42
【问题描述】:

来自PCRE Introduce

此扩展维护已编译正则表达式的全局每线程缓存(最多 4096 个)。

java.util.regex怎么样,这个会缓存编译后的模式吗?

因为有时我只是不想引入太多变量来存储模式。

【问题讨论】:

    标签: java regex


    【解决方案1】:

    java.util.regex 怎么样,这会缓存编译后的模式吗?

    不是在 Java 6 或 7 中...根据源代码。

    我的记忆是静态 Pattern.compile(...) 方法确实实现了一个小缓存,但大概该功能在 Java 6 中/被删除了。

    如果你想在Java中实现Pattern缓存,你可以通过多种方式自己实现。 (或者,谷歌搜索“java regex cache”给了我一些有用的命中......)

    【讨论】:

      【解决方案2】:

      如果您创建一个Pattern 对象,它会编译正则表达式,并且只要您持有该对象,它就会被“缓存”以供进一步使用。您可以通过using a single Matcher object 使您的应用程序更加高效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-31
        • 1970-01-01
        • 2010-11-17
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        相关资源
        最近更新 更多