Java - Regex для проверки пароля содержит специальные символы; побег? - PullRequest
1 голос
/ 10 февраля 2020

Я пишу несколько юнит-тестов для проверки паролей и тому подобное. Одним из случаев является обеспечение того, что пароли содержат специальные символы, один верхний регистр, один нижний регистр и один ди git.

Я написал тест с использованием регулярных выражений для проверки специальных символов, таких как:

Pattern p = Pattern.compile("[_]+[!]+[$]+[%]+[\\^]+[&]+[*]+[(]+[)]+[.]+[-]+[+]+");
Matcher m = p.matcher("__!$%%%^^&**().-++");
boolean b = m.matches();


System.out.println(b);

Мне пришлось убежать от ^ (символ моркови), но, похоже, нет другого символа - это правильно? Я просто каждый вход в отдельности, и, кажется, проверить правильно, хотя синтаксис казался немного более запутанным, чем я первоначально предполагал? использует Regex лучший способ добиться этой проверки и метод компиляции, как я это использовал?

Я возьму любые советы, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...