我怎样才能检查这些双重正则表达式

msi*_*rld 0 javascript c# regex string validation

我想检查一个电话号码是否有8位数,并且不是从零开始.我^[1-9][0-9]{7}为此目的使用了这个模式,我也想检查这8个数字是不是完全像是11111111或者77777777为了重复,我使用这个模式:(\w)\1{7,}分别检查数字与它不匹配.

现在我想将这些正则表达式模式组合在一起,但我不能.我尝试以这种方式组合这些模式: (?=([1-9][0-9]{7}))(?:(?!(\w1{7,})))但不幸的是它不起作用.

请注意,我必须使用一个正则表达式模式,并需要将这两个模式合并为一个.

有人可以帮帮我吗?

Cer*_*nce 6

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

^([1-9])(?!\1{7})\d{7}$
Run Code Online (Sandbox Code Playgroud)

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

(注意[0-9]简化到\d)