php preg_match返回意外的真实

时间:2011-03-24 01:49:29

标签: php regex

有人可以向我解释为什么这会回来TRUE吗?有7个z但它应该返回FALSE,因为我在正则表达式中设置了最大限制为6。

preg_match('/z{4,6}/', "zzzzzzz")

1 个答案:

答案 0 :(得分:5)

这是因为你的字符串包含一个4到6'z的子字符串。如果你希望匹配对整个字符串,你必须在正则表达式中放入锚点。

/^z{4,6}$/

/\Az{4,6}\z/