【问题标题】:Why does Pattern.quote always return a quoted string?为什么 Pattern.quote 总是返回带引号的字符串?
【发布时间】:2012-11-20 00:14:49
【问题描述】:

Pattern.quote("pattern") 返回\Qpattern\E。如果字符串中没有元字符,是否真的有必要将字符串字面化?

【问题讨论】:

    标签: java regex optimization pattern-matching


    【解决方案1】:

    我的猜测是它更简单、更高效。与其先检查是否有元字符,然后再进行第二次引用,只需假设存在元字符,并始终引用。

    【讨论】:

      【解决方案2】:

      不,没有必要,但这就是实施者选择做的事情,可能是为了简化实施,因为不必要的\Q\E 的成本相当小。

      在我的JDK中,Pattern.quote()唯一关心的是模式中是否已经存在\Q\E。它不会寻找任何其他特殊字符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-10
        • 1970-01-01
        • 2010-11-10
        • 1970-01-01
        • 1970-01-01
        • 2016-02-14
        相关资源
        最近更新 更多