正则表达式匹配手机号码 写一个正则表达式,可以匹配尾号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("位数不过,或着超出"); } } } }