正则表达式帮助 - 使用至少两个alpha字符和两个数字字符强制使用6个字符串?

Joh*_*orf 0 regex validation

我需要加入以下正则表达式,我写这些很可怕:

  xx12ab - valid
  x12345 - invalid
  xxxxx1 - invalid
  xxx123 - valid
Run Code Online (Sandbox Code Playgroud)

我需要一个6个字符的字符串,它至少有2个字母字符和2个数字字符,仅限于字符串中的字母/数字.

谢谢.

Mic*_*ers 7

最简单的方法是观察如果所有字符都是字母数字(因为它们应该是),则无效字符串是具有5个数字或5个字母的字符串.

这使得算法非常简单.在伪代码中(因为你没有提到你的语言):

int numcount = 0, alphacount = 0
foreach (char c : string)
    if c is numeric
        numcount++
    else if c is alpha
        alphacount++
    else
        return false // invalid character
if numcount >= 5 || alphacount >= 5
    return false
if numcount + alphacount != 6
    return false
return true
Run Code Online (Sandbox Code Playgroud)