0
任何人都可以向我解释为什么这是返回TRUE
?有7个Z,但它应该返回FALSE
,因为我已经在正则表达式中设置了最大值6。php preg_match返回意想不到的真
preg_match('/z{4,6}/', "zzzzzzz")
任何人都可以向我解释为什么这是返回TRUE
?有7个Z,但它应该返回FALSE
,因为我已经在正则表达式中设置了最大值6。php preg_match返回意想不到的真
preg_match('/z{4,6}/', "zzzzzzz")
这是因为你的字符串包含一个4到6'z的子串。如果你想要对整个字符串进行匹配,你必须在你的正则表达式中加入锚。
/^z{4,6}$/
或
/\Az{4,6}\z/
@克里斯:澄清一下,^和$分别开始和结束字符串(或换行,如果使用调节剂,但事情让事情复杂化)。所以这里的正则表达式是“字符串的开始,接下来是4到6个字符,然后是字符串的结尾” – 2011-03-24 02:05:31
啊,这是完全合理的,谢谢你们。 – Chris 2011-03-24 02:11:14