黑马程序员技术交流社区
标题: 关于正则表达式组的应用有错误 [打印本页]
作者: 放飞自己365 时间: 2013-10-7 00:39
标题: 关于正则表达式组的应用有错误
本帖最后由 放飞自己365 于 2013-10-7 21:32 编辑
在这里用正则表达式,匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。例如:18601088888、13912366666
在这里前几个数匹配的话是好做的,但是后面尾数是5个相同的怎么匹配比较哈呢,正则中组怎么用呢,帮忙给提供几个例子讲解一下。
作者: 张慧 时间: 2013-10-7 11:31
- String regex = "1[3458]\\d{4}(\\d)\\1{4}";
- Pattern p = Pattern.compile(regex);
- Matcher m = p.matcher("14601088888");
- if(m.matches()){
- System.out.println("匹配");
- }
复制代码 前面你应该知道,组的就是后面的}(\\d)\\1{4}:用括号括起来的是一个组,\\1是组号,{4}是与括号内相同的个数。如果你要求是五个相同,除去第一个,那么后面就应该是4个。组常用的也就这个,复杂点的话就是((A)(B(C))) ,多重括号,嵌套组。你可以查看下API
作者: 放飞自己365 时间: 2013-10-7 21:27
谢谢你,明白了,革命尚未成功,我还的继续努力。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |