条件 : パスワードは、大文字と小文字、数字、および特殊文字のうち少なくとも 2 つを組み合わせた 8 文字以上である必要があります。
条件に合うパターンは?
正規表現は、これに対する完全に間違ったアプローチです。代わりに、各文字タイプの出現回数を数え、if ステートメントとブール論理を使用して、要件が満たされているかどうかを確認します。
ただし、やりたいことが良いアイデアかどうかを再考してください。
したがって、はるかに優れたパスワード ポリシーは次のようになります。
IT Security Stack Exchange サイトにも興味深い投稿があります。これを読む必要があります: Short complex password, or long dictionary passphrase?
string PASSWORD_PATTERN = "((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,20})";
string password = "Password@1#";
Regex.IsMatch(password,PASSWORD_PATTERN);
これを試して。