与正则表达式文字匹配
如果需要匹配作为正则表达式语法一部分的字符,则可以将该模式的全部或部分标记为正则表达式文字。
\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