在java类中
String a="";
a.matches(\\w*);
返回来的是true;
不理解 \\w 匹配的不是[0-9][a-z][A-Z]以及_?
a=""算什么?
我应该怎么写才能把除了空的[0-9][a-z][A-Z]以及_匹配上?

解决方案 »

  1.   

    关键是*吧  匹配0次或者0次以上  你改成+看 还能匹配吗?
    而且a.matches(\\w*); 
    应该是a.matches(“\\w*”); 
      

  2.   

    public class TestMatch {
    public static void main(String args[]){
    String a=""; 

    System.out.println(a.matches("\\w*"));
    System.out.println(a.matches("\\w+")); 
    }
    }
    true
    false
      

  3.   

    a=""算\\w出现0次
    所以
    执行
    public class TestMatch {
        public static void main(String args[]){
            String a=""; 
            
            System.out.println(a.matches("\\w*"));
            System.out.println(a.matches("\\w+")); 
        }
    }
    结果为楼上给出的结果。不错;