我对正则表达式有一些经验,但是这种情况似乎太难了。
我要检查密码是否与某些模式匹配:
每个类别必须重复至少一次,并且全长应为4到12个符号。
例如:"fnE53@"
,"120nIq@!"
,"q@P1"
,"badPass#169"
我尝试了几种表达式:
"[a-z]+[A-Z]+[1234567890]+[!#$%]+"
很好,但是考虑了组的顺序
"(?=^[A-Z]+[a-z]+[0-9]+[!#$%]+$)"
更好,不允许键入不合适的字符(这一点很重要),但再次考虑顺序
我认为使用myString.count
更容易检查12个符号的上限。但是,我仍然不知道如何按照字符组的顺序解决这个问题。
有什么想法完全符合我的模式吗? 谢谢!