В мои требования входит, среди прочего, проверка правильности ввода пароля, чтобы один из следующих символов включался только один раз. ! @ # $% ^ & * () _ + =? ~
Для выполнения sh, что я написал следующее:
StringBuilder builder = new StringBuilder("(?=.*[a-z])");
builder.append("(?=.{1}[!@#$%^&*()_+=?~])");
Pattern pattern = Pattern.compile(builder.toString());
Matcher matcher = pattern.matcher(input);
if(matcher.matches){
return True;
}
Но это всегда терпит неудачу, когда я передаю действительный ввод в моем модульном тесте. Я новичок в регулярных выражениях.