Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Pattern.quote总是返回带引号的字符串?_Java_Regex_Optimization_Pattern Matching - Fatal编程技术网

Java 为什么Pattern.quote总是返回带引号的字符串?

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。它不寻找任何其他特殊字符。我猜它只是更简单、更高效。与其第一次检查是否有元字符,然后第二次检查是否有元字符引用,不如假设有元字符,并始终引用

Pattern.quote(“Pattern”)返回
\Qpattern\E
。如果字符串中没有元字符,是否真的有必要对其进行文字化

不,没有必要,但这是实现者选择做的,可能是为了简化实现,因为不必要的
\Q
\E
的成本非常小


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

我猜它只是更简单、更高效。与其第一次检查是否有元字符,然后第二次检查是否有元字符引用,不如假设有元字符,并始终引用