A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sunpeijie 中级黑马   /  2015-12-19 13:57  /  3135 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
基础考试题  关于手机号  那个五位重复的 怎么表达

最佳答案

查看完整内容

/** * 写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。 * 例如:18601088888、13912366666 */ public class Test { 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; ...

8 个回复

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

}
回复 使用道具 举报
学习了,\\1表示第一个括号中的内容啊
回复 使用道具 举报
yyt199108 发表于 2015-12-19 16:09
学习了,\\1表示第一个括号中的内容啊

所以就是第一个括号内的内容再重复4次
回复 使用道具 举报
茅塞顿开呀,学习了
回复 使用道具 举报
过来学习下,快要点招了
回复 使用道具 举报
1[34578]\\d{4}(\\d)1{4}
回复 使用道具 举报

1[3458]\\d{4}(\\d)\\1{4}
回复 使用道具 举报
学习            
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马