Php 一个数字可以以9开头,但不能连续以999开头的正则表达式
我正在尝试制作一个正则表达式,其中:Php 一个数字可以以9开头,但不能连续以999开头的正则表达式,php,regex,pcre,Php,Regex,Pcre,我正在尝试制作一个正则表达式,其中: 数字可以从3、5、6或9开始 号码不能以999开头 因此,例如,93214211匹配,但99912345不应匹配 这就是我目前拥有的满足第一个要求的产品: ^3 | ^5 | ^6 | ^9 |[^…]) 我被第二个要求困住了一段时间。 谢谢 您可以像这样使用负前瞻 ^(?!999)[3569]\d{7}$ <-- assuming the number to be of 8 digits 99321421怎么样?谢谢你这么快的回复!!您编辑之前的一
93214211
匹配,但99912345
不应匹配
这就是我目前拥有的满足第一个要求的产品:
^3 | ^5 | ^6 | ^9 |[^…])
我被第二个要求困住了一段时间。
谢谢 您可以像这样使用
负前瞻
^(?!999)[3569]\d{7}$ <-- assuming the number to be of 8 digits
99321421怎么样?谢谢你这么快的回复!!您编辑之前的一个就足够了,因为我在cakephp程序中添加了一个条件来验证maxLength为8。@AlfonsoKhiew现在您可以在没有条件的情况下使用给定的正则表达式检查8位。只是为了好玩,一个类似的带有lookbehind的正则表达式:。
^ #Start of string
(?!999) #Negative lookahead. Asserts that its impossible to match 999 in beginning
[3569] #Match any of 3, 5, 6 or 9
\d{7} #Match 7 digits
$ #End of string