與正規表示式文字匹配
如果需要匹配作為正規表示式語法一部分的字元,則可以將該模式的全部或部分標記為正規表示式文字。
\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