preg_match短于5个字符的单词

时间:2013-01-18 14:47:14

标签: php regex preg-match

使用PHP的preg_match()函数,我如何匹配2到5个字符之间的单词?在这种情况下,字母保证是大写的A-Z,每个$ word变量中只有一个单词。

必须拒绝6个字符的单词:

preg_match("/[A-Z]{2,5}/", $word); 

...似乎不起作用,大概是因为一个6个字符的$ word会根据前2-5个字符匹配。

这是我实际问题的简化版本,无法通过strlen()测试解决。

1 个答案:

答案 0 :(得分:2)

如果您希望字符串恰好是2到5个字符之间的A-Z,那么您的帖子就不清楚了。这将匹配2-5个字符之间的字符串中的所有单词:

preg_match('/\b[A-Z]{2,5}\b/', $string, $matches);
var_dump($matches);

如果你只是字符串恰好在2到5个字符之间并且只包含A-Z:

preg_match('/^[A-Z]{2,5}$/', $word);