我需要制作一个接受格式为(_,_)
的字符串的模式,例如:"(0,0)"
,"(1,3)"
,"(5,8)"
等。
我写了以下条件:
if (name.equals("(\\d,\\d)")) {
System.out.println("accepted")
}
答案 0 :(得分:3)
您需要使用\
转义括号。它们在正则表达式中具有特殊含义(用于分组)。
您还需要调用正确的方法,一种与正则表达式匹配的方法,该方法不是equals()
,而是matches()
。
答案 1 :(得分:1)
name.equals()
实际上并不接受正则表达式。您正在寻找matches()
,将接受正则表达式。
你也必须逃避括号,因为它们在正则表达式中具有特殊含义。
if(name.matches("\\(\\d,\\d\\)") {
System.out.println("accepted");
}