Регулярное выражение, проверяющее сложность пароля Active Directory по умолчанию

У меня есть список паролей, которые мне нужно изучить и определить, соответствуют ли они правилу 3 из 4 по умолчанию для AD.

Правило содержит 3 из 4 следующих требований: строчные буквы (a-z) прописные буквы (A-Z) числовые (0-9) специальные символы (! @ # $% ^ & * () _ + =)

Я все еще изучаю Regex. Я знаю, как выбрать только те из них, которые встречаются с любым регистром символов, но я не уверен, как это сделать 3 из 4.

Как примечание, у Сложности AD есть еще две тонкости, которые важны (но вне области оригинального вопроса).

Это действительно 3 из 5. Пятый - это символ Unicode. Приятно обновить Regex с этим.

Во-вторых, вы не можете иметь полное значение sAMAccountName в пароле (без учета регистра), а также если вы не разбиваете значение displayName на токены, разбитые на пробелы, запятую, тире, подчеркивание, фунт, трубу и что-то еще, эти токены (3 символа и не может быть целиком в пароле, без учета регистра.

Ответы на вопрос(1)

Ваш ответ на вопрос