萌新求助,关于正则表达式

2019-01-28 17:22:28 +08:00
 shenxj

根据格式转换一个表里号码的等级,格式定义如下: 第一类 AAAAA ( 5 连号) ABCDEF 第二类 AAAA ( 4 连号,不含 4 ) ABCDE 第三类 AAA ( 3 连号,不含 4 ) ABCD 第四类 4444 第五类 444 WWXXYY AAAAB 第六类 AAAB AABB ABAB 第七类 其他

号码为固话,11 位长,前面是区号,后 7 位是号码,匹配的规则为后面几位如 AAAAA 可以为 05311522222 求助大佬告诉我正则应该怎么写,感激不尽!!

3183 次点击
所在节点    正则表达式
3 条回复
wszgrcy
2019-01-28 17:27:59 +08:00
/1 $1 看是那种语言了,说错请大牛拍砖
keepeye
2019-01-28 17:36:26 +08:00
匹配 3 位以上的重复数字   ([\d])\1{2,}
keepeye
2019-01-28 17:36:49 +08:00
靓号检测:主要可以检测连号(正连 12345、倒连 65432 )、AABB 号、手机号码、日期号(生日号、年度号)、ABBCABB 号,3 位以上重复号。更多类型号码检测可以根据以下表达式改造。

  ' 匹配 6 位顺增    regex.Pattern = "(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}\d"

匹配 3 位以上顺增    regex.Pattern = "(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3,}+\d

  ' 匹配 6 位顺降    regex.Pattern = "(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5}\d"

  ' 匹配 6 位顺增或顺降    regex.Pattern = "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\d"

  匹配 4-9 位连续的数字   (?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3,}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3,})\d

  匹配 3 位以上的重复数字   ([\d])\1{2,}

  匹配日期类型的数字   (19|20)[\d]{2}(1[0-2]|0?[1-9])(31|2[0-9]|1[0-9]|0?[0-9])

  手机号码类   (13[0-9]|15[0-9]|18[0-9])([\d]{2,4}){2}

  匹配 33111 类型的   ([\d])\1{1,}([\d])\2{2,}

  匹配 5331533 类型的   (([\d]){1,}([\d]){1,})\1{1,}

  匹配 22334,123355 类型的   ([\d])\1{1,}([\d])\2{1,}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531308

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX