我想知道如果我可以得到一个正则表达式将匹配一个字符串只有字母字符,那一个
你可以简单地做:
/^[A-z]+$/
> [A-z]将匹配所有字母(包括小写和大写)。
> ^和$将确保除了这些字母将没有匹配。
更新:
我的原始正则表达式/ ^ [A-z] $ /将匹配A和z之间的字符,包括一些非字母的答案,如下面一些专家的评论中提到的。
最好使用/ ^ [A-Z] $ / i或/ ^ [A-Za-z] $ /来匹配ASCII字母的输入字符串。
preg_match('/^[A-Z]+$/i',"abcAbc^Xyz",$m); echo "4. "; var_dump($m);
4. array(0) { }
测试用例#4用于OP的注释,只有当输入中存在1个或多个字母时,他才匹配。正如你可以看到在测试案例4中匹配失败,因为在输入字符串abcAbc ^ Xyz中有^。
请注意,上面的答案只匹配ASCII字母,并且不匹配Unicode字符。