正则表达式匹配手机号码 写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。

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 Test9 {

	/**
	 * 写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。
	 * 例如:18601088888、13912366666
	 * @param args
	 */
	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("位数不过,或着超出");
			}
			
		}
	}

}

 

 

posted on 2014-01-02 20:16  I love Android  阅读(3120)  评论(1编辑  收藏  举报