使用PHP的preg_match()函数,我如何匹配2到5个字符之间的单词?在这种情况下,字母保证是大写的A-Z,每个$ word变量中只有一个单词。
必须拒绝6个字符的单词:
preg_match("/[A-Z]{2,5}/", $word);
...似乎不起作用,大概是因为一个6个字符的$ word会根据前2-5个字符匹配。
这是我实际问题的简化版本,无法通过strlen()测试解决。
答案 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);