0

目前我有:

/[a-z]{3}\d{2}

abc12很好匹配,但不匹配a7bb9

我有基本的正则表达式经验,但我从来没有测试过可能有 6000 万种不同组合的固定长度(5 个字符)字符串。

4

1 回答 1

3

你可以试试

^(?=(?:.*[a-z]){3})(?=(?:.*\d){2}).{5}$
  • ^字符串的开头

  • (?=(?:.*[a-z]){3})正向前瞻,前面至少有 3 个字母,中间有任何字母

  • (?=(?:.*\d){2})正向前瞻,前面至少有 2 位数字,中间有任何数字

  • .{5}字符串的长度为 5

  • $字符串的结尾

它使用正向前瞻来确保字符串中至少有 3 个字母和 2 个数字,并且当字符串的长度为 5 时,顺序无关紧要。

检查证明

于 2021-02-24T01:53:23.563 回答