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

Evg*_*eev 2 java regex optimization pattern-matching

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

NPE*_*NPE 5

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

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