php preg_匹配编号2000-2999
我试图写一个if语句,如果$var等于任何数字2000-2999 inc,它将继续php preg_匹配编号2000-2999,php,preg-match,Php,Preg Match,我试图写一个if语句,如果$var等于任何数字2000-2999 inc,它将继续 if ( preg_match( '/^20.*/', $var) ) continue; 这似乎有效,但在20123456或20001-1234-2345等上也会匹配吗 如何将其限制在2000-2999(含)以内 感谢使用regex最简单的方法: if ( preg_match( '/^2[0-9]{3}$/', $var) ) continue; [0-9]匹配任何数字字符{3}说精确匹配它3次。因此它将
if ( preg_match( '/^20.*/', $var) ) continue;
这似乎有效,但在20123456或20001-1234-2345等上也会匹配吗
如何将其限制在2000-2999(含)以内
感谢使用regex最简单的方法:
if ( preg_match( '/^2[0-9]{3}$/', $var) ) continue;
[0-9]
匹配任何数字字符{3}
说精确匹配它3次。因此它将匹配000
,001
,120
,999
,等等<代码>$匹配字符串的结尾
有关更多信息,请参见此。(使用左侧的单元测试确保函数与您要查找的匹配)使用正则表达式的最简单方法:
if ( preg_match( '/^2[0-9]{3}$/', $var) ) continue;
[0-9]
匹配任何数字字符{3}
说精确匹配它3次。因此它将匹配000
,001
,120
,999
,等等<代码>$匹配字符串的结尾
有关更多信息,请参见此。(使用左侧的单元测试确保函数与您要查找的匹配)为什么通过
preg\u match
?
如果符合以下条件,您可以使用classic:
if ($var >= 2000 && $var <= 2999) continue;
如果($var>=2000&&$var为什么要通过preg\u match
?
如果符合以下条件,您可以使用classic:
if ($var >= 2000 && $var <= 2999) continue;
如果($var>=2000&&$var 2100我需要说点别的吗:)这不匹配2999?我错过了2000-2999。我以为是2000-2099。更新了answer@Tom我发布了regex101链接,它有一些单元测试功能,可以向您显示它匹配/不匹配的内容。2100我需要说点别的吗:)这不匹配2999?我错过了2000-2999。我以为是2000年到2099年。更新answer@Tom我发布了regex101链接,它有一些单元测试功能,可以向您显示它匹配/不匹配的内容。我没有想过这样做。几周后阅读就简单多了:)是的,准确地说:-)如果不是通过preg_match
进行比较的具体原因,最好让代码简单有效且易于阅读。我没有想过这样做。在几周时间内阅读非常简单:)是的,准确地说:-)如果不是通过preg_match
进行比较的具体原因,最好让代码简单有效且易于阅读。