黑马程序员技术交流社区

标题: 正则表达式的疑问~快速求解哦 [打印本页]

作者: Spring up    时间: 2012-12-30 17:56
标题: 正则表达式的疑问~快速求解哦
        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+"... 不合法");

        }
作者: 张会文    时间: 2012-12-30 21:32
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个以上;
建议你复习一下正则表达式的匹配,拆分,替换
作者: 冉世友    时间: 2012-12-30 21:34
qq号码5-15位
第一位不能为0,【1-9】
后4-14位可以是任意数字,用\\d{4,14}来表示
{}表示重复多少次,\\d表示任意数字
作者: 黄邦洋    时间: 2012-12-30 21:48
在正则表达式中由于表达式实在“”里面的所以带反斜杠的都需要转义
[1-9]表示首位只能是1到9里面的数字
\\d表示后面是数字
{4,14}表示数字有4到14个




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