实现的要求如下:
- 纯数字
- 5-7位之间
- 前三位相同
- 从第四位开始连续
如下面的例子:
11123 #正确
22234 #正确
33345 #正确
333456 #正确
2223456 #正确
0001234 #正确
00012345 #错误:此行长度超标
000234 #错误:第3位与第4位不连续
111235 #错误:第5位和第6位不连续
1、匹配三位相同数字
2、匹配连续数字
匹配连续数字可以通过零宽断言来匹配,当然也没什么好办法,只能通过列举,如下两行都可以匹配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}$
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用正则表达式能带来一定的帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:- iOS 正则表达式判断纯数字及匹配11位手机号码的方法
- jquery 正整数数字校验正则表达式
- JS判断输入的字符串是否是数字的方法(正则表达式)
- JS正则表达式匹配检测各种数值类型(数字验证)
- jQuery使用正则表达式限制文本框只能输入数字
- 最新密码验证正则表达式
- Javascript校验密码复杂度的正则表达式
- 正则表达式匹配用户密码
- 正则表达式限制 账号 密码 邮箱 身份证 手机号的相关代码
- python使用正则表达式检测密码强度源码分享
- php password密码验证正则表达式(8位长度限制)
- 浅析一个匹配数字和字母密码的正则表达式