與正規表示式文字匹配

如果需要匹配作為正規表示式語法一部分的字元,則可以將該模式的全部或部分標記為正規表示式文字。

\Q 標誌著正規表示式字面的開頭。\E 標誌著正規表示式字面的結束。

// the following throws a PatternSyntaxException because of the un-closed bracket
"[123".matches("[123");

// wrapping the bracket in \Q and \E allows the pattern to match as you would expect.
"[123".matches("\\Q[\\E123"); // returns true

在不必記住\Q\E 轉義序列的情況下,更簡單的方法是使用 Pattern.quote()

"[123".matches(Pattern.quote("[") + "123"); // returns true