我正在寻找一个用于断言任何长度的字符串(实际上是密码)具有的单个 java 正则表达式:
- 至少 2 个小写字母
- 至少 2 个大写字母
- 至少 2 个数字字符
- 至少 1 个字符不是字母或数字
用于匹配,例如:
password.matches("some regex");
这里的“重要”部分是字符类型必须不止一种。我发现的其他问题是关于“至少一个”,而不是“至少两个”的字符类型。
它可以通过多个 match() 调用来完成,但正则表达式将被外部化为单个字符串,因此它需要一次调用matches()
.