如何使用java检查字符串中的所有字符是小写的

sun*_*leo 7 java regex

我试过这样但输出错误,请帮帮我

String inputString1 = "dfgh";// but not dFgH
String regex = "[a-z]";
boolean result;

Pattern pattern1 = Pattern.compile(regex);
Matcher matcher1 = pattern1.matcher(inputString1);
result = matcher1.matches();
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

Mar*_*nik 16

您的解决方案几乎正确.正则表达式必须说 - "[a-z]+"包括量词,这意味着你不匹配单个字符,而是一个或多个小写字符.请注意,与Unicode 中的任何小写字符匹配的超级正确解决方案,而不仅仅是英语字母表中的小写字符,是:

"\\p{javaLowerCase}+"
Run Code Online (Sandbox Code Playgroud)

另外请注意,您可以使用更少的代码实现此目的:

System.out.println(input.matches("\\p{javaLowerCase}*"));
Run Code Online (Sandbox Code Playgroud)

(我在这里使用*量词,这意味着零或更多.根据所需的语义选择.)


Per*_*ror 5

你几乎就在那里,除了你只检查一个角色.

String regex = "[a-z]+";
Run Code Online (Sandbox Code Playgroud)

上述正则表达式将检查输入串将包含从任何数量的字符a,以z

了解如何在正则表达式中使用Quantifiers