本帖最后由 王者黑桃 于 2014-1-3 15:06 编辑
1[3458]\d{4}(\d)\1{3}
1 匹配 1
[3458] 匹配 3 4 5 8 任意一个
\d{4} 匹配 4个0-9
(\d) 匹配 0-9并捕获到\1
\1{4} 匹配 4个之前捕获到的\1
public class Telephone {
public static void main(String[] args) {
String regex="[1][3-5[8]][0-9]{4}(\\d)\\1{4}";
Scanner scanner=new Scanner(System.in);
boolean flag=true;
System.out.println("请输入您的电话号码");
while(flag)
{
String a=scanner.next();
if(a.toCharArray().length==11)
{
if(a.matches(regex))
{
flag=false;
System.out.println("匹配成功!");
}else
{
System.out.println("不匹配请从新输入:");
}
}else{
System.out.println("位数不过,或着超出");
}
}
}
}
|