正则表达式/逻辑:6位数字,不应包含连续或连续重复的数字

时间:2015-11-16 07:16:21

标签: java regex

我想要一个正则表达式/代码来检查它应该是6位数,最小值和最大值是6.它不应该包含连续数字,如 123456 654321 , 453212等 这意味着没有两位数甚至可以连续。 此外,它不应包含连续重复的数字,如2 44 674。

建议一些解决方案。

1 个答案:

答案 0 :(得分:2)

嗯,一个正则表达式肯定是可能的,但你有多确定我在某个地方没有输入错字?

^            # Start of string
(?:          # Start of non-capturing group:
 0(?![901])| # Match 0, unless followed by 9, 0, or 1
 1(?![0-2])| # etc...
 2(?![1-3])|
 3(?![2-4])|
 4(?![3-5])|
 5(?![4-6])|
 6(?![5-7])|
 7(?![6-8])|
 8(?![7-9])|
 9(?![890])
){6}         # 6 times
$            # End of string

测试live on regex101.com