Regex 检查是否不是00000000或11111111或22222等
我有一个正则表达式来检查(法语)电话号码是否正确。 电话号码必须以一个0开头,以一个1或2或3或4或5或9继续,以8个号码继续,但这些号码不得与00000000或11111111相同 我当前的正则表达式:Regex 检查是否不是00000000或11111111或22222等,regex,Regex,我有一个正则表达式来检查(法语)电话号码是否正确。 电话号码必须以一个0开头,以一个1或2或3或4或5或9继续,以8个号码继续,但这些号码不得与00000000或11111111相同 我当前的正则表达式: /^0(1|2|3|4|5|9){1,1}[0-9]{8,8}/i 提前感谢您的帮助。您可以使用以下正则表达式: /^0[1-59](?!(\d)\1{7}$)\d{8}$/i 有几点: {1,1}就像被删除一样好 {8,8}和{8}一样好 (1 | 2 | 3 | 4..)可以替换为字
/^0(1|2|3|4|5|9){1,1}[0-9]{8,8}/i
提前感谢您的帮助。您可以使用以下正则表达式:
/^0[1-59](?!(\d)\1{7}$)\d{8}$/i
有几点:
就像被删除一样好{1,1}
和{8,8}
一样好{8}
可以替换为字符类-(1 | 2 | 3 | 4..)
[1234]
可以替换为字符类中的范围-[12345]
[1-5]
(?!(\d)\1{7})
来断言前2位之后的8位数字不完全相同。如果断言为true,则它与后面的8位数字匹配
捕获组1中的第一个数字(\d)
- 然后
反向引用捕获的组,以匹配与\1
\d
将反向引用匹配7次。这意味着-{7}
匹配同一个数字8次(\d)\1{7}
/^0[1-59](?!(\d)\1{7}$)\d{8}$/i
有几点:
就像被删除一样好{1,1}
和{8,8}
一样好{8}
可以替换为字符类-(1 | 2 | 3 | 4..)
[1234]
可以替换为字符类中的范围-[12345]
[1-5]
(?!(\d)\1{7})
来断言前2位之后的8位数字不完全相同。如果断言为true,则它与后面的8位数字匹配
捕获组1中的第一个数字(\d)
- 然后
反向引用捕获的组,以匹配与\1
\d
将反向引用匹配7次。这意味着-{7}
匹配同一个数字8次(\d)\1{7}
{n,n}
与{n}
相同,您可以完全删除{1,1}
,因为默认情况下是“单匹配”。根据regex标记,您在中使用regex的语言是什么?关于012222444
它是否有效?或013333334
?以06
、07
或08
开头的数字如何?你不想让他们匹配吗?@sp00m我同意你的看法,法国电话号码可以从01开始到09<代码>08是“特殊的”(商业的、黄色的、靛蓝的……)09
保留给互联网提供商用于VoIP线路。请注意,{n,n}
与{n}
相同,您可以完全删除{1,1}
,因为默认情况下是“单一匹配”。根据regex标记,您在中使用regex的语言是什么?关于012222444
它是否有效?或013333334
?以06
、07
或08
开头的数字如何?你不想让他们匹配吗?@sp00m我同意你的看法,法国电话号码可以从01开始到09<代码>08是“特殊的”(商业的、黄色的、靛蓝的……)09
是为VoIP线路保留给互联网提供商的。您的速度更快,所以+1,另一方面,不要忘记您可以将字符类更改为[1-59]
:)。您的速度更快,所以+1,另一方面,不要忘记您可以将字符类更改为[1-59]
:)。