我试过这样但输出错误,请帮帮我
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)
(我在这里使用*量词,这意味着零或更多.根据所需的语义选择.)
你几乎就在那里,除了你只检查一个角色.
String regex = "[a-z]+";
Run Code Online (Sandbox Code Playgroud)
上述正则表达式将检查输入串将包含从任何数量的字符a,以z