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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一直很安静 中级黑马   /  2013-11-22 20:22  /  1063 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

写一个正则表达式 可以匹配尾号5连的手机号 第一位1第二位3458其中一个后面四位任意 1[3458]\d{4}
其中:1匹配第一位1
[3458]匹配3458其中一个
\d{4}匹配4个0-9
问一下怎样让后五位相同?

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
分组应该是干这个的吧
(\d)\1\1\1\1
回复 使用道具 举报
本帖最后由 明月几时有 于 2013-11-22 23:12 编辑

1[3458]\\d{4}(\\d)\\1{4}
                        []中括起来的是可以选其中之一的意思,它只表示一位。[3458]表示是3或4或5或8,只能取一位。
                        \\d{m}括起来的m表示它前面的\\d(数字)有m位。{m,n}表示m--n,包含m ,不包含n。
                        (\\d)用括号括起来表示它是一个组,后面的\\1表示反向引用前面的组,自定义的组是从1开始的,所以用\\1引用。
                        (\\d)\\1{4}就是\\d先出现一次后,\\1{4}意思是接着又连续出现了四次,也就是任意字母出现5次。
                      当然你也可以(\\d)\\1\\1\\1\\1,就是麻烦点,和上面的是一个意思

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
1[3458]\\d{4}(\\d)\\1{4}
建议你看一下API中正则表达式,看了会了解很多的,然后多试试,比如匹配QQ啊,Email之类的。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
1[3458]\\d{4}(\\d)\\1{4}
这个吧
回复 使用道具 举报
这个视频里有讲啊
回复 使用道具 举报
对正则表达式   很是纠结 看不懂后面的五位组成  求高手帮忙解释一番 在此先谢过了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马