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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Orangeapp 中级黑马   /  2015-9-25 23:05  /  1201 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

正则不好记,看着老师的讲解还可以理解,然后自己去看的时候就不知道写的是什么了。
有道题请教各位大神,帮忙解答下。

写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。

12 个回复

倒序浏览
正则真的有点难懂哦
回复 使用道具 举报
学习了 谢谢啦!!!
回复 使用道具 举报
碰巧,今天刚看了这道题,献上我的理解。。
Str reg ="1[3458]\\d{4}(\\d)\\1{4}"

1表示第一个位置必须是数字1
【3458】表示第二个位置可以是3、4、5、8的任何一个
\\d{4}表示第三个位置开始往后的4个位置,可以是0-9的任何数字
(\\d)表示该位置(第7位)可以是0-9的任何数字
\\1表示获取正则表达式第一个()中的内容,即获取了(\\d)
{4}表示被重复了4个位置

回复 使用道具 举报
sfgjys 来自手机 中级黑马 2015-9-25 23:36:42
报纸
都说正则难,难倒哪里啊
回复 使用道具 举报
"1[3458]?\"
回复 使用道具 举报
上面那个回复错了   按回车换行 居然发出去了  看下这个   “1[3458]{1}\\d{4}(\\d)\\1{4}”  大概是这样  或者你可以看看4楼的
回复 使用道具 举报
1[3458][0-9]{4}([0-9])\\1{4}
回复 使用道具 举报
季995 中级黑马 2015-9-26 14:49:09
9#
reg="1[3458]\\d{4}(\\d)\\1+{4}";//1:开头必须是1,【3458】第二位必须是括号中间的数,\\d{4}后面4位任意数字,(\\d)\\1+{4}最后5位为任意相同的数字
回复 使用道具 举报
正则还好吧,不是很难
回复 使用道具 举报
15001162522 发表于 2015-9-25 23:29
碰巧,今天刚看了这道题,献上我的理解。。
Str reg ="1[3458]\\d{4}(\\d)\\1{4}"

\\1怎么表示的,java api能查到吗?
回复 使用道具 举报
djsbiu 发表于 2015-9-26 17:25
\\1怎么表示的,java api能查到吗?

没查,我编译运行结果是正确的。。。你可以自己查查看,其实我也是菜鸟~~~
回复 使用道具 举报
15001162522 发表于 2015-9-25 23:29
碰巧,今天刚看了这道题,献上我的理解。。
Str reg ="1[3458]\\d{4}(\\d)\\1{4}"

可以的 这个学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马