我在这里遗漏了一些东西。
我正在尝试查看字符串是否包含4位数字。我之前做过这件事,但多年来都做不到,而且无法弄清楚我做错了什么。
$ stuff是来自mySQL数据库的字符串。 (目前来自一个表格,所以当然应该工作。)
$stuff=$_POST['stuff'];
$regex="/\d{4}/";
$integerStuff=intval($stuff);//in case somehow seeing as n on-digit!!!
if (preg_match($regex, $integerStuff)) {echo " Found 4 dig";}
我想如果preg_match没有找到它返回false的模式但是123不匹配,12345等就行了。
我认为{4}恰好意味着4次出现。
我知道这个愚蠢的问题,但多年来一直坚持这个问题。
答案 0 :(得分:2)
就像你说的那样,
$regex="/\d{4}/";
正好查找4位数字。但是之前或之后什么都不重要。你想要包括" line-start" ^和" line-end" $:
$regex="/^\d{4}$/";