文字列に少なくともn個の異なるクラスの文字が含まれている場合にのみ一致する正規表現を作成しようとしていました。私は、強力なパスワードを作成するために私のユーザーを強制的にこれを使用しようとパスワードは、以下の少なくとも3が含まれているかどうかを確認したかった。少なくともn個のmグループに一致する正規表現
- 文字
- 資本文字が
- 番号
- 特殊文字
これらのクラスがすべて存在する場合に一致する正規表現を書くことは、先読みを使って簡単です。しかし、私は "少なくとも3"の部分の周りに私の頭を包むことはできません。これは(素晴らしい、コンパクトな表現で)可能なのですか?または私はモンスターの表現を作成する必要がありますか?
私はこのアプローチが本当に好きです。論理を反転することについても考えなかった。ありがとう、非常に賢い! –
この式ではスペースが許されていませんか? – Rookian
それは、[パスワードがスペースを許可するのは珍しいことではありません](http://stackoverflow.com/questions/632167/should-users-be-allowed-to-entered-a-password-with-a-space- at-the-beginning-or-e)である。スペースを許さないバージョンが必要な場合は、最後の '。*'を '\ S *'に変更してください。 –