Добрый день.
При тестировании своего приложения столкнулись с проблемой при валидации вводимого пароля пользователя.
Из документации:
((?=.*\\d)(?=.*\\p{javaLowerCase}) (?=.*\\p{javaUpperCase}).{6,20})
Это означает, что в пароль должен содержать от 6 до 20 символов, в нем можно использоваться цифры, символы и буквы латинского алфавита. При этом обязательно в пароле должна быть хотя бы одна цифра, одна буква в нижнем регистре и одна буква в верхнем регистре.
Согласно этой цитате, регулярное выражение должно пропускать исключительно латинские символы. На деле же оно пропускает и символы остальных алфавитов. Для верности я проверил не только кириллицу, но и символы греческого алфавита. Оба пароля были приняты системой.
И так вопросы. Это баг? Фича и просто неточность текста документации?
PS. Регулярку точно не трогали, используется стандартная. В политике проверки пароля стоит значение true.