Мое регулярное выражение должно соответствовать следующему:
- Он должен содержать не менее 8 символов,
- минимум 2 заглавные буквы,
- минимум 2 строчные буквы
- и минимум 2 числовых символа.
Поискав в Интернете, я нашел этот, похожий на мой, который должен проверяться по крайней мере одной цифрой, по крайней мере одной строчной буквой и хотя бы одной прописной буквой:
^(?=\w*\d)(?=\w*[A-Z])(?=\w*[a-z])\S{8,16}$
Это будет что-то вроде этого:
С помощью оператора
?=
(заглянуть вперед) вы проверяете, что:(?:.*\d){2}
(?:.*[A-Z]){2}
(?:.*[a-z]){2}
С помощью квантификатора
{8,}
вы указываете, что он должен иметь минимальную длину 8 без максимального ограничения.