【发布时间】:2015-05-05 14:39:28
【问题描述】:
我想验证一个只能包含 400 到 550 范围内数字的数字字符串。
$x = "401"; // valid
$x = "551"; // invalid
我只想匹配 400 和 550 之间的数字。
我尝试了以下模式:
if(preg_match_all("/[400-550]+/",$x));
但它不起作用。
匹配数字 400-550 的正则表达式模式是什么?
【问题讨论】:
-
想改用“范围”吗? php.net/manual/en/function.range.php
-
为什么要通过正则表达式来做?
-
学习基本的正则表达式语法会有所帮助。
[...]定义了一个字符类,它匹配目标文本中的单个字符,[400-500]基本上是说在字符串中找到一个字符是4、0、1、2的位置、3、4或5。例如[400-500]在功能上与[0-5]相同。 -
我在这里支持@anubhava - 除非您有特定原因使用正则表达式,否则这看起来有点像 XY 问题 (meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。您似乎在这里真正要问的是如何查找数字是否在数字范围内,至少不要假设您在问题中包含的内容之外的任何内容。
标签: php regex preg-match-all