我必须匹配一个8个字符的字符串,它可以包含2个字母(1个大写和1个小写),正好是6个数字,但它们可以任意排列.
所以,基本上:
我已经尝试使用正向前瞻来确保字符串包含数字,大写和小写字母,但是我将其限制为特定次数.我想我可以通过包括字母和数字可能出现的所有可能组合来解决它:
(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]) ([A-Z][a-z][0-9]{6})|([A-Z][0-9][a-z][0-9]{5})| ... | ([0-9]{6}[a-z][A-Z])
Run Code Online (Sandbox Code Playgroud)
但这是一种非常迂回的方式,我想知道是否有更好的解决方案.