【发布时间】:2014-12-02 03:34:06
【问题描述】:
以下正则表达式确保密码至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符:
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9\s]).*$
这行得通。在此基础上,我想要求仅满足其中两个组才能使密码有效。
例如,这些是有效密码:aaaaa5、BFEWREWRE77、#2ccc。
我可以修改这个正则表达式来支持这个要求吗?
【问题讨论】:
-
这不是正则表达式的工作。最好尝试遍历字符串并计算它包含的每种字符的数量。接下来根据您的规则检查计数。下一个阅读代码的人也更清楚。
-
当然,它可能更适合代码。但我想用正则表达式来做。怎么办?