Я видел следующее регулярное выражение в Интернете.
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
Он проверяет только, если строка:
* contain at least (1) upper case letter
* contain at least (1) lower case letter
* contain at least (1) number or special character
* contain at least (8) characters in length
Я хотел бы знать, как преобразовать это регулярное выражение, чтобы он проверял строку на
* contain at least (2) upper case letter
* contain at least (2) lower case letter
* contain at least (2) digits
* contain at least (2) special character
* contain at least (8) characters in length
Ну, если он содержит как минимум 2 верхних, нижних, цифр и специальных символов, тогда я бы не стал требуется длина 8 символов.
Специальные символы:
`~ @# $% ^ & *() _- + = []\| {};: '",/<.? >