String pwd="iamBoyA00223_-";
String pwd2="iamBoyA00223_";
// 비밀번호 포맷 확인(영문, 특수문자, 숫자 포함 8자 이상)
Pattern passPattern1 = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*\\W).{8,20}$");
Matcher passMatcher1 = passPattern1.matcher(pwd);
if(!passMatcher1.find()){
System.out.println( pwd + " (pwd):비밀번호는 영문대소문자, 특수문자, 숫자를 포함하며 8자 이상이어야 합니다.");
}
if(!passMatcher1.find()){
System.out.println( pwd2 + " (pwd2):비밀번호는 영문대소문자, 특수문자 숫자를 포함하며 8자 이상이어야 합니다.");
}
iamBoyA00223_ (pwd2):비밀번호는 영문대소문자, 소문자과, 특수문자 숫자를 포함하며 8자 이상이어야 합니다.
_ (underscore) 는 word다.
참고 (https://docs.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html)