Пожалуйста, дайте мне код в регулярном выражении для проверки пароля в Java, который должен состоять из одного символа Caps, одного целого числа, одного следующего символа (@, #, $,%, ^, &, +, =) и маленьких символов.
Я пробовал это с разными отдельными регулярными выражениями и одним комбинированным регулярным выражением.
На самом деле у меня уже есть одно регулярное выражение, которое оценивает все условия в javascript.
Я не могу использовать его в Java. Я пытался сбежать \
. Его тоже не работает.
Вот мой код:
Pattern pattern = Pattern.compile("/.*(?=.{6,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/");
Matcher matcher = pattern.matcher("Aa@1");
if(matcher.matches()){
System.out.println("Matched");
}
else{
System.out.println("No mat");
}
Исходное регулярное выражение javascript
/.*(?=.{6,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/
В этом \d
дал мне ошибку из-за экранирующего символа. Итак, я добавил еще \
до этого в версии Java.
Я не могу понять, что происходит не так.
Заранее спасибо.