Java regex не разрешает строковые специальные символыJAVA

Программисты JAVA общаются здесь
Anonymous
Java regex не разрешает строковые специальные символы

Сообщение Anonymous »

Я хочу установить пароль, который не разрешает конкретные специальные символы, такие как < /p>

-_\
< /code>

И мое регулярное выражение следующим образом < /p>

PatternCompiler compiler = new Perl5Compiler();
PatternMatcher matcher = new Perl5Matcher();
pattern = compiler.compile("^(?=.*?[a-zA-Z])(?=.*?[0-9])([A-Za-z0-9-/-~][^\\\\\\\\_\-]*)$");
< /code>

работает частично. Если я размещаю нежелательные специальные символы между строкой и началом строки по -прежнему соответствует паролю < /p>

P@ssword123 --correct
-password@123 --it should not match
-passowrd"11 --it should not match
\password123 --it should not match
_@111Password --it should not match
p@sswor"123 --correct
< /code>

В любом случае в строке, если я найду -_ \ Регулярное выражение не должно совпадать.
Использование Apache API для сопоставления шаблона в Java < /p>

Подробнее здесь: https://stackoverflow.com/questions/429 ... characters

Вернуться в «JAVA»