读书人

求教几个手机靓号的正则表达式,该如何

发布时间: 2012-04-04 16:38:51 作者: rapoo

求教几个手机靓号的正则表达式
求教几个手机靓号的正则表达式

任意连续6位为AABBCC的号码
例如:13983399661

末尾6位为AABBCC的号码
例如:13198339966

末尾4位为AABB的号码
例如:13918139966

末尾8位为ABCDABCD的号码
例如:13981468146

任意连续8位为ABCDABCD的号码
例如:13814681469

末尾6位为ABCABC的号码
例如:13918146146

末尾4位为ABCD的连续号码
例如:13918116789

[解决办法]
都重复的东西,用到的就是反向引用,无非就是套用一种模式
^(?=\d*expression)1[358]\d{9}$
变化的也就是expression部分

其实也就最后一个还稍有那么点难度,但相当于穷举,也没什么意思

C# code
//任意连续6位为AABBCC的号码//例如:13983399661^(?=\d*(\d)\1(\d)\2(\d)\3)1[358]\d{9}$//末尾6位为AABBCC的号码//例如:13198339966^(?=\d*(\d)\1(\d)\2(\d)\3$)1[358]\d{9}$//末尾4位为AABB的号码//例如:13918139966^(?=\d*(\d)\1(\d)\2$)1[358]\d{9}$//末尾8位为ABCDABCD的号码//例如:13981468146^(?=\d*(\d)(\d)(\d)(\d)\1\2\3\4$)1[358]\d{9}$//任意连续8位为ABCDABCD的号码//例如:13814681469^(?=\d*(\d)(\d)(\d)(\d)\1\2\3\4)1[358]\d{9}$//末尾6位为ABCABC的号码//例如:13918146146^(?=\d*(\d)(\d)(\d)\1\2\3$)1[358]\d{9}$//末尾4位为ABCD的连续号码//例如:13918116789^(?=\d*(0(?=1|$)|1(?=2)|2(?=3)|3(?=4|$)|4(?=5|$)|5(?=6|$)|6(?=7|$)|7(?=8|$)|8(?=9|$)|9(?=0|$)){4}$)1[358]\d{9}$ 

读书人网 >C#

热点推荐