如何在pregmatch中匹配两位数?

时间:2016-05-17 11:33:22

标签: php preg-match preg-match-all preg-grep

我已经返回一个preg_match来检查起始数字是否为9477并且它是否正常工作。但现在我想添加另一个条件来添加94779476应该有效。

以下是条件:

  1. 应包含11位数字
  2. 应以94779476
  3. 开头

    这是我的代码:

    preg_match('/^9477\d{7}$/',$Mnumber)
    

3 个答案:

答案 0 :(得分:1)

使用两个数字之间的替换:

preg_match('/^947(?:7|6)\d{7}$/',$Mnumber)

(?:7|6)是一个与数字76匹配的非捕获组。非捕获组比捕获组更有效。

你也可以这样做:

preg_match('/^947[76]\d{7}$/',$Mnumber);

[67]是与数字76匹配的字符类

答案 1 :(得分:1)

在[]

中使用分组
echo preg_match('/^947[76]\d{7}$/',$Mnumber);

答案 2 :(得分:0)

只需使用(9477|9476)

即可
echo preg_match('/^(9477|9476)\d{7}$/',$Mnumber);

您也可以使用:

  1. /^947(7|6)\d{7}$/
  2. /^947[76]\d{7}$/