文字列である引数に少なくとも 2 つのカテゴリから少なくとも 2 つの文字が含まれている場合に true を返す関数を作成しています。
- 小文字
- 大文字
- 数字の文法
- キャラクター/その他すべて
例:
abAB => true
aB => false
ab12 => true
1ab2 => true
asdfasdf1 => false
これを行う正規表現に取り組んでいますが、問題があります。また、正規表現を複数の if ステートメントに分割し、各グループから少なくとも 2 文字が文字列に含まれているかどうかを個別に確認することも検討しました。
例えば:
comprised = 0
if(string contains *[0-9]*[0-9])
comprised = comprised+1
if(string contains *[a-b]*[a-b])
comprised = comprised+1
if(string contains *[A-Z]*[A-Z])
comprised = comprised+1
if(string contains *[^0-9a-zA-Z]*[^0-9a-zA-Z])
comprised = comprised+1
if comprised >= 2
return true
else return false