Как составить регулярное выражение для проверки пароля?
Надо сделать проверку на сложность пароля, чтобы там был хотя бы один символ из !"№;%:?*()_+=-.,<>~ любая буква в любом регистре и цифра и длина пароля от 6 символов до 21.
Можно ли такое сделать?
Пока только такое но не работает
public static boolean checkPassword(String s ){
Pattern p = Pattern.compile("^[a-z0-9_-]{6,21}$");
Matcher m = p.matcher(s);
return m.matches();
}