Php 正则表达式不';行不通

Php 正则表达式不';行不通,php,regex,Php,Regex,我需要使用php正则表达式匹配以下模式,但它并没有给出预期结果 例:- 需要匹配模式 5555459930 $id = "4567 3423 4567"; $regex = "/^[1-9]\d{4} \d{4} \d{4}$/"; if (preg_match($regex, $id)) { // Indeed, the expression "^[2-9]\d{2} \d{3} \d{4}$" matches the date string echo "Found a match

我需要使用php正则表达式匹配以下模式,但它并没有给出预期结果

例:- 需要匹配模式 5555459930

$id = "4567 3423 4567";
$regex = "/^[1-9]\d{4} \d{4} \d{4}$/";
if (preg_match($regex, $id)) {
   // Indeed, the expression "^[2-9]\d{2} \d{3} \d{4}$" matches the date string
   echo "Found a match!";
}else {
   // If preg_match() returns false, then the regex does not
   // match the string
   echo "The regex pattern does not match. :(";
}

如果要匹配:4个非零数字+空格+4个数字+空格+4个数字


^([1-9]){4}\d{4}\d{4}$
如果要匹配,应该执行以下操作:4个非零数字+空格+4个数字+空格+4个数字


^([1-9]){4}\d{4}\d{4}$
应该可以做到这一点

我认为修改现有正则表达式最安全的方法是在第一个
[2-9]\d{2}\d{3}
中添加一个替代方法:

^(?:[2-9]\d{2} \d{3}|\d{4} \d{4}) \d{4}$
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

详情:

  • ^
    -字符串的开头
  • (?:[2-9]\d{2}\d{3}\d{4}\d{4})
    -备选方案之一:
    • [2-9]\d{2}\d{3}
      -从
      2
      9
      的一个数字,任意2个数字,一个空格和3个数字
    • |
      -或
    • \d{4}\d{4}
      -4位数字,空格,4位数字(用于新的字符串类型)
  • -空格
  • \d{4}
    -4位数字
  • $
    -字符串结束
见:


我认为修改现有正则表达式最安全的方法是在第一个
[2-9]\d{2}\d{3}
中添加一个替代项:

^(?:[2-9]\d{2} \d{3}|\d{4} \d{4}) \d{4}$
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

详情:

  • ^
    -字符串的开头
  • (?:[2-9]\d{2}\d{3}\d{4}\d{4})
    -备选方案之一:
    • [2-9]\d{2}\d{3}
      -从
      2
      9
      的一个数字,任意2个数字,一个空格和3个数字
    • |
      -或
    • \d{4}\d{4}
      -4位数字,空格,4位数字(用于新的字符串类型)
  • -空格
  • \d{4}
    -4位数字
  • $
    -字符串结束
见:


对正则表达式的简单编辑将是

^[1-9]\d{3} \d{4} \d{4}

对正则表达式的简单编辑将是

^[1-9]\d{3} \d{4} \d{4}

您在前两个部分中缺少一个数字。请尝试
“/^[2-9]\d{2,3}\d{3,4}\d{4}$/”
或-如果您不想匹配混合输入类型-
“/^(?[2-9]\d{2}\d{3}\d{4}\d{4}$/”
有任何反馈吗?实际上,您没有提到是否需要支持这两种字符串格式,或者只是将现有的格式重新转换为不同的模式。它总是指向“正则表达式模式不匹配”。前两个部分的长度较短。请尝试
“/^[2-9]\d{2,3}\d{3,4}\d{4}$/”
,或者-如果您不想匹配混合输入类型-
“/^(?:[2-9]\d{2}\d{3}|\d{4}\d{4}$/“
有任何反馈吗?您实际上没有提到是否需要支持这两种字符串格式,或者只是将现有的一种重新加载到不同的模式中。它总是转到“regex模式不匹配”它最终对你有用吗?你在这项任务上需要更多的帮助吗?它最终对你有用吗?你在这项任务上需要更多的帮助吗?