密码位数不低于8位,并且必须包含数字、字母(区分大小写)以及特殊符号至少三种组合
public static void main(String[] args) {
String password = "135780ajhv.♬";
String pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!~.^?/|<>():;\"\\'♪♫♬@#|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,16}|^(?=.\*\[a-z\])(?=.\*\[A-Z\])(?=.\*\[!~.^?/|<>():;\\"\\\\'♪♫♬@#%&*]).{8,16}|^(?=.\*\[a-z\])(?=.\*\\\\d)(?=.\*\[!~.^?/|<>():;\\"\\\\'♪♫♬@#%&*]).{8,16}|^(?=.\*\[A-Z\])(?=.\*\\\\d)(?=.\*\[!~.^?/|<>():;\\"\\\\'♪♫♬@#%&*]).{8,16}|^(?=.\*\[a-z\])(?=.\*\[A-Z\])(?=.\*\\\\d).{8,16}";
System.out.println(Pattern.matches(pattern, password)) ;
}