黑马程序员技术交流社区

标题: 正则表达式 [打印本页]

作者: sunpeijie    时间: 2015-12-19 13:57
标题: 正则表达式
基础考试题  关于手机号  那个五位重复的 怎么表达
作者: 在下叶良辰    时间: 2015-12-19 13:57
/**
     * 写一个正则表达式,可以匹配尾号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("位数不过,或着超出");
            }
            
        }
    }

}
作者: yyt199108    时间: 2015-12-19 16:09
学习了,\\1表示第一个括号中的内容啊
作者: zcbcba123    时间: 2015-12-19 17:09
yyt199108 发表于 2015-12-19 16:09
学习了,\\1表示第一个括号中的内容啊

所以就是第一个括号内的内容再重复4次
作者: Manli123    时间: 2015-12-22 23:12
茅塞顿开呀,学习了
作者: 雨来    时间: 2015-12-24 20:08
过来学习下,快要点招了
作者: 正阳门下    时间: 2016-1-6 22:08
1[34578]\\d{4}(\\d)1{4}
作者: 正阳门下    时间: 2016-1-6 22:21
正阳门下 发表于 2016-1-6 22:08
1[34578]\\d{4}(\\d)1{4}

1[3458]\\d{4}(\\d)\\1{4}
作者: hnsfxyzl    时间: 2016-1-9 15:09
学习            




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2