我正在寻找一个单一的java正则表达式,用于声明任意长度的String(实际上是密码)具有:
用于匹配,例如:
password.matches("some regex");
这里的“重要”部分是必须有多个字符类型的。我发现的其他问题是关于“至少一个”,而不是“至少两个”字符类型。
可以使用多个matches()调用来完成,但正则表达式将被外部化为单个String,因此需要对matches()
进行一次调用。
答案 0 :(得分:4)
理论上,您可以使用以下几种模式:
(?=.*[A-Z].*[A-Z])(?=.*[a-z].*[a-z])(?=.*\\d.*\\d)(?=.*[^A-Za-z\\d]).*
然而,对于实际应用,我宁愿坚持正确的编程,而不是依赖像这样的正则表达式。