正则怎么匹配连续数字
发布时间:2025-05-19 11:32:51 发布人:远客网络
一、正则怎么匹配连续数字
这次给大家带来正则怎么匹配连续数字,正则匹配连续数字的注意事项有哪些,下面就是实战案例,一起来看一下。
000234#错误:第3位与第4位不连续
111235#错误:第5位和第6位不连续1、匹配三位相同数字
匹配连续数字可以通过零宽断言来匹配,当然也没什么好办法,只能通过列举,如下两行都可以匹配3位连续数字
(0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\d
\d((?<=0)1|(?<=1)2|(?<=2)3|(?<=3)4|(?<=4)5|(?<=5)6|(?<=6)7|(?<=7)8|(?<=8)9){2}说明:第一行采用正向零宽断言,第二行采用反向零宽断言
集合本题中的要求,由于要求相同前三,并且后面连续从第三位开始,完成正则如下:
^(\d)\1{2}((?<=(0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)))\d){2,4}$
^(\d)\1{2}((?<=0)1|(?<=1)2|(?<=2)3|(?<=3)4|(?<=4)5|(?<=5)6|(?<=6)7|(?<=7)8|(?<=8)9){2,4}$
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
使用正则表达式提取字符串详解(附代码)
二、正则表达式“或“的使用
正则表达式,又称规则表达式。是计算机科学的一个概念。
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如:
String reg="[a-zA-Z]\\d?";//次表达式表示字符串的第一位只能是字母,第二位只能是数字或没有boolean flag=str.matches(reg);//返回结果为true。
所谓切割,即是按一定的规则将字符串分割成多个子字符串,如:
String str="zhangsan,lishi,wangwu"。
String reg=",";//表示以逗号作为切割符。
String[] arr=str.split(reg);//返回结果为{“zhangsan”,"lisi","wangwu}。
即将字符串中符合规则的字符替换成指定字符,如:
String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376"。
str.replaceAll("\\d{3,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。
参考资料来源:百度百科-正则表达式
三、帮写固定电话靓号正则表达式(一共12位数)
以下是根据您提供的尾数规则编写的正则表达式:
后七位数位相同的六位数和一个别的数字,如“1111112”、“3333335”等。
^[^(1|4)]\d*(\d)\1{5}(.\d)$
后七位数为三连号加四连号,如“3335555”等。
^[^(1|4)]\d*(\d)\1{2}(\d)\1{3}$
后八为数为“12121212”、“53535353”这样的。
^[^(1|4)]\d*(\d)\1{4}$
后四位数为6666、8888、9999,如“XXXXXXXX7777”。
^[^(1|4)]\d*(\d)\1{3}(6|8|9)$
后五位数为相同的四位数和一个别的数字,如“11112”、“66665”等。
^[^(1|4)]\d*(\d)\1{3}(.\d)$
6. AAAA(4连号,0/1/2/3/4/5/7结尾)
后四位数为0000、1111、2222、3333、4444、5555、7777,如“XXXXXXXX5555”。
^[^(1|4)]\d*(\d)\1{3}(0|1|2|3|4|5|7)$
后五位数为相同的两连号加三连号,如“11222”、“77444”等。
^[^(1|4)]\d*(\d)\1{2}(\d)\1{2}$