我希望我的String像“ 09DD-DDD-DD DD”,我应该如何使用Java中的matchs方法对此进行编码? 这是我的代码的一部分,但不起作用:
public void setPhone(String p) {
if (p.charAt(0) == '0' && p.charAt(1) == '9' && p.matches("//d{4}-//d{3}-//d{2} //d{2}")){
this.phone = p;}
else System.out.println("phone number must be started with 09 and DDDD-DDD-DD DD");
}
答案 0 :(得分:1)
从您所说的来看,应该是这样:"09\\d{2}-\\d{3}-\\d{2} \\d{2}"
答案 1 :(得分:0)
答案 2 :(得分:0)
我看到您的问题是接受电话号码。因此它的正则表达式应为:
09[0-9]{2}-[0-9]{3}-[0-9]{2} [0-9]{2}
您的代码应类似于:
if (p.matches("09[0-9]{2}-[0-9]{3}-[0-9]{2} [0-9]{2}"){
phone = p;
}else {
System.out.println("phone number must be started with 09 and DDDD-DDD-DD DD");
}