正则表达式的字符串只包含小写字母

正则表达式的字符串只包含小写字母

问题描述:

您好我想找到一个正则表达式只接受小写字母闲来无事,正则表达式的字符串只包含小写字母

我累了没有几个选择工作,可有一个人请指导我:

这里是我试过的表情:

(?=.*[a-z])--> this is not working if we have "aaaAA" 

[a-z]+^[A-Z] 

^[A-Z]+[a-z]+^[A-Z] 

请帮帮我。

+0

您可以使用's.matches( “[A-Z] *”)' –

+0

这是接受大写字母以及.. – user8579908

+0

如果是那么你为什么要接受'[A-Z] +'? –

你尝试只是[AZ] +

见这里的例子: https://regex101.com/r/wCdBue/1

如果你想检查是否整行/文本只包含小写字母,你应该用^ $包装你的正则表达式像这样:^ [AZ] + $

例子: https://regex101.com/r/T0DHY4/1

+0

s =“aaaAAAA”is failing :( – user8579908

+0

你是什么意思失败? –

+0

哦,我看到了......你可能想检查整行/文本是否只包含小写字母,在这种情况下,你应该用^ $像这样:^ [az] + $ –

您的解决方案几乎是正确的。正则表达式必须说“[a-z] +” - 包含一个量词,这意味着你不匹配单个字符,而是一个或多个小写字符。

String regex =“[a-z] +”;

这是一个量词正则表达式链接。 http://docs.oracle.com/javase/tutorial/essential/regex/quant.html

它的工作对我来说是这样的:

String line = "aaaA"; 
    System.out.println(line.matches("^[a-z]+$")); //false 
    line = "aaaa"; 
    System.out.println(line.matches("^[a-z]+$")); //true