要求只能为英文或者数字,但不能为纯英文或者数字,?怎么填
String test1 = "123";
String test2 = "abc";
String test3 = "12a";
String test4 = "#r";
System.out.println(Pattern.compile("?").matcher(test1).matches()))   
System.out.println(Pattern.compile("?").matcher(test2).matches()))   
System.out.println(Pattern.compile("?").matcher(test3).matches()))   
System.out.println(Pattern.compile("?").matcher(test4).matches()))   

解决方案 »

  1.   


    String test1 = "123";
    String test2 = "abc";
    String test3 = "12a";
    String test4 = "#r";
    String regex="^(?!(\\d+|[a-zA-Z]+)$)[a-zA-Z\\d]+";
    System.out.println(test1.matches(regex));
    System.out.println(test2.matches(regex));
    System.out.println(test3.matches(regex));
    System.out.println(test4.matches(regex));