什么是最简单的正则表达式,它将检查字符串是否包含至少一个大写字母和一个小写字母?
编辑:这是一个密码,其中也可能存在数字字符,因此大写和小写字符可能不会彼此相邻。
答案 0 :(得分:6)
我怀疑你的意思是“ASCII字符”。
[A-Z].*[a-z]|[a-z].*[A-Z]
^(?=.*?[A-Z])(?=.*?[a-z])
“简单”变体只检查两种可能性:大写字符在小写之前来自,或者反过来。
“优雅”变体使用两个正向前瞻断言来扫描字符串,而无需实际向前移动正则表达式引擎或匹配任何内容。
与第一种方法相比,此变体可以非常容易地扩展以进行更多检查,并且在您检查它符合您的要求后,它允许您消费字符串。
答案 1 :(得分:3)
也可以在没有正则表达式的情况下检查字符串中的大写和小写。
此代码如下所示:
$word = 'AA1FAa';
// Check if word has both uppercase and lowercase letters
if(strtolower($word) != $word && strtoupper($word) != $word){
echo 'Has both upper and lower case letters';
}else{
echo 'Does not have both upper and lower case letters';
}