Java 为什么Pattern.quote总是返回带引号的字符串?
Pattern.quote(“Pattern”)返回Java 为什么Pattern.quote总是返回带引号的字符串?,java,regex,optimization,pattern-matching,Java,Regex,Optimization,Pattern Matching,Pattern.quote(“Pattern”)返回\Qpattern\E。如果字符串中没有元字符,是否真的有必要对其进行文字化 不,没有必要,但这是实现者选择做的,可能是为了简化实现,因为不必要的\Q和\E的成本非常小 在我的JDK中,Pattern.quote()唯一关心的是模式中是否已经存在\Q和\E。它不寻找任何其他特殊字符。我猜它只是更简单、更高效。与其第一次检查是否有元字符,然后第二次检查是否有元字符引用,不如假设有元字符,并始终引用
\Qpattern\E
。如果字符串中没有元字符,是否真的有必要对其进行文字化 不,没有必要,但这是实现者选择做的,可能是为了简化实现,因为不必要的\Q
和\E
的成本非常小
在我的JDK中,
Pattern.quote()
唯一关心的是模式中是否已经存在\Q
和\E
。它不寻找任何其他特殊字符。我猜它只是更简单、更高效。与其第一次检查是否有元字符,然后第二次检查是否有元字符引用,不如假设有元字符,并始终引用