如何使用正则表达式查找字符串是否至少包含一个字符?

Vis*_*hal 5 java regex

例子:

  1. "1名":应该说它有字符
  2. "10,000":好的
  3. "na123me":应该说它有角色
  4. "na 123,000":应该说它有角色

Osc*_*Ryz 11

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");   
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

测试

$java HasCharacters "1 name" 
Has characters 
$java HasCharacters "10,000"
Ok
$java HasCharacters "na123me"
Has characters 
$java HasCharacters "na 123, 000" 
Has characters 
Run Code Online (Sandbox Code Playgroud)


npi*_*nti 5

 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));
 }
Run Code Online (Sandbox Code Playgroud)

上面应该匹配大小写中的任何字母.如果正则表达式返回匹配项,则该字符串中包含一个字母.

结果

1个名字

na 123,000

I54

不包含字母的语句与表达式不匹配.

  • 如果匹配,则字符串中只有**字母(AZ). (3认同)

Dav*_*d M 5

你想要的正则表达式是[a-zA-Z],但是你需要使用find()方法。

此页面将让您根据输入测试正则表达式。

http://www.fileformat.info/tool/regex.htm