Regex 还有另一个密码验证正则表达式

Regex 还有另一个密码验证正则表达式,regex,Regex,我已经通过多个示例通过正则表达式验证密码,但没有一个完全符合我的要求。我一直在尝试和错误建立自己的,但没有完全成功 下面是一个正则表达式,到目前为止,它与我要查找的内容最为匹配: (?=.*?[a-z]{3,})(?=.*?[A-Z]{3,})(?=.*?[0-9]{2,})[a-zA-Z0-9]{8,24} 密码应该有三个小写字母和三个大写字母以及两个数字。密码长度应介于8到24个字符之间。不寻找特殊字符,只要满足其他要求,就可以使用它们 上面的正则表达式匹配ABCdef12,但不匹配Ad1

我已经通过多个示例通过正则表达式验证密码,但没有一个完全符合我的要求。我一直在尝试和错误建立自己的,但没有完全成功

下面是一个正则表达式,到目前为止,它与我要查找的内容最为匹配:

(?=.*?[a-z]{3,})(?=.*?[A-Z]{3,})(?=.*?[0-9]{2,})[a-zA-Z0-9]{8,24}
密码应该有三个小写字母和三个大写字母以及两个数字。密码长度应介于8到24个字符之间。不寻找特殊字符,只要满足其他要求,就可以使用它们

上面的正则表达式匹配
ABCdef12
,但不匹配
Ad1Be1Cf
。我应该如何修改正则表达式,使其也与后一个示例匹配

  (?=.{8,24}$)(?=.*?[a-z].*?[a-z].*?[a-z])(?=.*?[A-Z].*?[A-Z].*?[A-Z])(?=.*?\d.*?\d)(^.*$)
您可以使用它。它使用前瞻来测试所有条件

见演示


内容断言使用look aheads,长度使用简单的正则表达式:

^(?=(.*[a-z]){3})(?=(.*[A-Z]){3})(?=(.*\d){2}).{8,24}$


我有理由相信,这是最短的正则表达式,对您有效。

谢谢,您的答案确实有最短的正则表达式,而且似乎确实有效。:)最后,我建造的东西离我不远了。。。