public static void main(String[] args) {
Pattern pattern = Pattern.compile("[_0-9a-z]+");
boolean b1 = pattern.matcher("@#").find();
boolean b2 = pattern.matcher("@#").find();
System.err.println("b1="+b1);//false
System.err.println("b2="+b2);//true,说明pattern.matcher("xxx").find()是只要有一个匹配,哪怕有其他非法字符,也会认为true
boolean b3 = "d d的2a-".matches("[_0-9a-zA-Z\\s\u4E00-\u9FA5\\-—]+");//判断数字字母中文下划线空格
boolean b4 = "d d的2a-@".matches("[_0-9a-zA-Z\\s\u4E00-\u9FA5\\-—]+");
System.err.println("b3="+b3);//true
System.err.println("b4="+b4);//false,说明,这个是判断只包含,一旦出现非法字符,则false
}