任意の長さの文字列(実際にはパスワード)が次のようになっていることを表明するための単一のJava正規表現を探しています。
- 少なくとも2つの小文字
- 少なくとも2つの大文字
- 少なくとも2つの数字
- 文字または数字ではなく、少なくとも1文字
次のようなマッチで使用します。
password.matches("some regex");
ここでの「重要な」部分は、複数の文字タイプが存在する必要があるということです。私が見つけた他の質問は、文字タイプの「少なくとも2つ」ではなく、「少なくとも1つ」について話します。
複数のmatches()呼び出しで実行できますが、正規表現は単一の文字列として外部化されるため、への1回の呼び出しである必要がありますmatches()
。