黑马程序员技术交流社区
标题:
写一个正则表达式用来匹配手机号
[打印本页]
作者:
黑马IT学员
时间:
2014-1-3 14:59
标题:
写一个正则表达式用来匹配手机号
写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。
作者:
王者黑桃
时间:
2014-1-3 15:01
本帖最后由 王者黑桃 于 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("位数不过,或着超出");
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2