繁体   English   中英

正则表达式:如何知道该字符串包含至少2个大写字母?

[英]Regex: how to know that string contains at least 2 upper case letters?

如何知道该字符串包含至少2个大写字母? 例如,这些是有效的字符串“Lazy Cat”,“NOt very lazy cat”。 使用Java 1.7。

这个正则表达式有效。

string.matches(".*[A-Z].*[A-Z].*")

尝试使用以下正则表达式:

"^(.*?[A-Z]){2,}.*$"

要么

"^(.*?[A-Z]){2,}"

我现在将向您展示一个完整的解决方案,我会指导您。

如果你不想使用正则表达式,你可以简单地循环字符串,通过char聊天并检查它是否是大写:

for (int i=0;i<myStr.length();i++)
{
     //as @sanbhat suggested, use Character#isUpperCase on each character..
}

你现在有somany正则表达式的答案,

如果你不想使用**regex** ,那就去吧

String someString = "abcDS";
int upperCount = 0;
for (char c : someString.toCharArray()) {
    if (Character.isUpperCase(c)) {
        upperFound++;
    }
}
// upperFound  here weather >2 or not

试试这个:

string.matches("[A-Z]+.*[A-Z]+");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM