我如何检查这些双正则表达式

时间:2018-11-11 07:53:34

标签: javascript c# regex string validation

我要检查电话号码是否包含8位数字,并且不以零开头。我为此使用了^[1-9][0-9]{7}模式,也想检查一下这8个数字是否没有像1111111177777777那样完全重复,为此我使用了以下模式:(\w)\1{7,} ,分别检查数字是否与之不符。

现在,我想将这些Regex模式组合在一起,但我不能。我尝试通过以下方式组合这些模式: (?=([1-9][0-9]{7}))(?:(?!(\w1{7,}))),但很遗憾,它不起作用。

请注意,我必须使用一种Regex模式,并且需要将这两种模式组合为一种。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:6)

这只是您需要检查的第一个字符,它看起来像-将其捕获到一个组中,然后对该组重复使用7次负向查找,以确保整个字符串不是全部相同,然后以\d{7}以匹配其他7位数字:

^([1-9])(?!\1{7})\d{7}$

https://regex101.com/r/DbTtAJ/1

(请注意,[0-9]简化为\d