まず第一に、私は正規表現に完全に慣れていないので、これはさらに最適化される可能性があります。そうであれば、どうすればよいか教えてください。とにかく、正規表現に関するいくつかの記事を読んだ後、パスワード照合のニーズに合わせて少し正規表現を書きました。
(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(^[A-Z]+[a-z0-9]).{8,20}
私がやろうとしているのは、大文字で始まる必要があり、小文字が含まれている必要があり、少なくとも1つの数字が含まれている必要があり、少なくとも1つの特殊文字が含まれている必要があり、長さが8〜20文字である必要がある. 上記は何とか機能しますが、特殊文字を強制しません(。どの文字にも一致するようですが、正の先読みでそれを使用する方法がわかりません)。最小の長さは8ではなく10のようです。私は何をしていますか?違う?
PS: http://gskinner.com/RegExr/を使用してこれをテストしています。