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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Spring up 中级黑马   /  2012-12-30 17:56  /  1203 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        public static void checkQQ()
        {
                String qq = "1230454";

                String regex = "[1-9]\\d{4,14}";//这个谁能讲得详细一点吗?谢谢!

                boolean flag = qq.matches(regex);
                if(flag)
                        System.out.println(qq+"...is ok");
                else
                        System.out.println(qq+"... 不合法");

        }

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

3 个回复

正序浏览
在正则表达式中由于表达式实在“”里面的所以带反斜杠的都需要转义
[1-9]表示首位只能是1到9里面的数字
\\d表示后面是数字
{4,14}表示数字有4到14个
回复 使用道具 举报
qq号码5-15位
第一位不能为0,【1-9】
后4-14位可以是任意数字,用\\d{4,14}来表示
{}表示重复多少次,\\d表示任意数字

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
String regex = "[1-9]\\d{4,14}";
首先,这是正则表达式种问题
[1-9]表示判断首位数字在1-9之间,包含1,9;
\\d表示判断1个数字;
{4,14}表示判断个数为4到14个(包含4和14);
{n} n个;
{n,m}n到m个(包括n,m);
{n,}表示 n个以上
?  表示0到1个;
*   表示0到0个以上;
建议你复习一下正则表达式的匹配,拆分,替换

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马