正则表达式,数字可以从9开始,但不能连续999开始

时间:2016-05-16 04:58:38

标签: php regex pcre

我正在尝试制作正则表达式:

  1. 一个数字可以从3,5,6或9开始
  2. 该号码不能以999开头。
  3. 例如,匹配93214211,但不应匹配99912345

    这就是我现在所满足的第一个要求:

    ^3|^5|^6|^9|[^...]}

    我现在停留在第二个要求一段时间了。 谢谢!

1 个答案:

答案 0 :(得分:6)

您可以使用negative lookahead之类的

^(?!999)[3569]\d{7}$ <-- assuming the number to be of 8 digits

<强> Regex Demo

正则表达式细分

^ #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