示例:
- "1 name": 应该说明它有字符
- "10,000": 可以
- "na123me": 应该说明它有字符
- "na 123, 000": 应该说明它有字符
示例:
public class HasCharacters {
public static void main( String [] args ){
if( args[0].matches(".*[a-zA-Z]+.*")){
System.out.println( "Has characters ");
} else {
System.out.println("Ok");
}
}
}
测试
$java HasCharacters "1 name"
Has characters
$java HasCharacters "10,000"
Ok
$java HasCharacters "na123me"
Has characters
$java HasCharacters "na 123, 000"
Has characters
public static void main(String[] args)
{
Pattern p = Pattern.compile("^([^a-zA-Z]*([a-zA-Z]+)[^a-zA-Z]*)+$");
Matcher m = p.matcher("1 name");
Matcher m1 = p.matcher("10,000");
Matcher m2 = p.matcher("na123me");
Matcher m3 = p.matcher("na 123, 000");
Matcher m4 = p.matcher("13bbbb13jdfgjd43534 fkgdfkgjk34 rktekjg i54 ");
if (m.matches())
System.out.println(m.group(1));
if (m1.matches())
System.out.println(m1.group(1));
if(m2.matches())
System.out.println(m2.group(1));
if(m3.matches())
System.out.println(m3.group(1));
if (m4.matches())
System.out.println(m4.group(1));
}
以上应该匹配大小写字母。如果正则表达式返回匹配结果,则字符串中包含字母。
结果
1个名字
我
na 123, 000
i54
不包含字母的语句不符合该表达式。
^
和$
限定。 - BalusCmatches()
方法使用整个字符串,但find()
方法不是。 - David M使用此行您可以检查字符串是否仅包含由正则表达式(在本例中为a,b,c,...z和A,B,C,...Z)给出的字符:
boolean doesMatch = "your string".matches( "[a-zA-Z]*" );