我一直想知道为什么字符"("
和")"
与模式"[\\p{Alpha} '-,.]"
匹配。
请看看我的代码。方法matches
将为true
和"("
字符返回")"
。
另外,如果我试图匹配我的模式,还有其他字符会返回true
吗?
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String pattern = "[\\p{Alpha} '-,.]";
//String text = "(";
String text = ")";
System.out.print(Pattern.matches(pattern, text));
}
}
答案 0 :(得分:3)
这是因为'-,
被解释为范围并且相当于'()*+,
,尝试转义减去字符"[\\p{Alpha} '\\-,.]"
答案 1 :(得分:0)
只需双击)
符号
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String pattern = "[\\p{Alpha} '-,.]";
//String text = "(";
String text = "\\)";
System.out.print(Pattern.matches(pattern, text));
}
}