文字列が8〜30文字でなければならない正規表現のパターン一致を作成しようとしています。数字、2文字以上(大文字小文字を区別しない)、少なくとも1文字の特殊文字、およびスペースは使用できません。文字列内の任意の順序で少なくとも2桁の2文字を一致させる正規表現
私はスペースと特殊文字が一致していますが、連続している必要はないので、2桁と2文字にスローされています。
つまり、a1b2c$
またはab12$
または1aab2c$
と一致する必要があります。
文字のような何か?
(?=.*[a-zA-Z].*[a-zA-Z]) // Not sure.
作品以下この文字列が、2つの文字が連続していると2つの数字は、文字、数字、特殊文字が織り込まれている場合consecutive..itに障害が発生している場合にのみ。
(?=^.{8,30}$)((?=.*\\d)(?=.*[A-Za-z]{2})(?=.*[0-9]{2})(?=.*[[email protected]#$%^&*?]{1})(?!.*[\\s]))^.*
は、あなたがこのために正規表現を必要と絶対によろしいですか? – Scorpil
私は正規表現に反対し、if文と何らかの種類のstring.contains()関数を使って個々のチェックを行うだけです。 gparyaniは正規表現よりもはるかに良い解決策を示しています – user1751547
これはLiferayの設定の一部なので正規表現が必要なようです。 – user2166893