Regex表示1个大写字母和2个小写字母、2个数字和2个非字母数字字符



我正在尝试为包含1个大写字母和2个小写字母、2个数字和2个非字母数字字符的字符串创建Regex,目前我有:

(?=.*d{2})(?=.*[a-z]{2})(?=.*[A-Z])(?=.*W{2})

问题是这个正则表达式中的字符必须更硬,而这不是我需要的情况。

我需要接受的解决方案:

Taa12@!
T1a1b@!
a1!b@2A

您可以使用

^(?=(?:D*d){2})(?=(?:[^a-z]*[a-z]){2})(?=[^A-Z]*[A-Z])(?=(?:w*W){2})

请参阅regex演示。

详细信息

  • ^-字符串的开头
  • (?=(?:D*d){2})-至少两个数字字符(不一定连续(
  • (?=(?:[^a-z]*[a-z]){2})-至少两个小写ASCII字母(不一定连续(
  • (?=[^A-Z]*[A-Z])-至少一个ASCII字母
  • (?=(?:w*W){2})-至少两个非单词字符(不一定连续(

相关内容

  • 没有找到相关文章

最新更新