1. 1[3458]\d{4}(\d)\1{3}
  2. 1 匹配 1
  3. [3458] 匹配 3 4 5 8 任意一个
  4. \d{4} 匹配 40-9
  5. (\d) 匹配 0-9并捕获到\1
  6. \1{4} 匹配 4个之前捕获到的\1
  1. public class Test9 {
  2.  
  3. /**
  4. * 写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。
  5. * 例如:18601088888、13912366666
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. String regex="[1][3-5[8]][0-9]{4}(\\d)\\1{4}";
  10. Scanner scanner=new Scanner(System.in);
  11. boolean flag=true;
  12. System.out.println("请输入您的电话号码");
  13. while(flag)
  14. {
  15. String a=scanner.next();
  16. if(a.toCharArray().length==11)
  17. {
  18. if(a.matches(regex))
  19. {
  20. flag=false;
  21. System.out.println("匹配成功!");
  22. }else
  23. {
  24. System.out.println("不匹配请从新输入:");
  25. }
  26. }else{
  27. System.out.println("位数不过,或着超出");
  28. }
  29. }
  30. }
  31.  
  32. }

 

 

版权声明:本文为tianshidechibang234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tianshidechibang234/p/3502468.html