Javascript 在^(?=.[a-z]{2,}.{8,}$中,此正则表达式至少包含2个小写字符。TeSt@12345虽然它有2个小写字符,但不起作用

Javascript 在^(?=.[a-z]{2,}.{8,}$中,此正则表达式至少包含2个小写字符。TeSt@12345虽然它有2个小写字符,但不起作用,javascript,reactjs,angular,regex,Javascript,Reactjs,Angular,Regex,我至少有两个小写字符的正则表达式^(?=.[a-z]{2,})。{8,}$ 如果小写字符紧挨着另一个,则此操作有效:Test@12345; 但不适用于TeSt@12345,其中小写字符不相邻 如何确保它在上述两种情况下都能工作?尝试:^(?=(?:.[a-z]){2})。{8,}$ 这使得{2}应用于整个“后跟小写字母的任何内容”序列。使用(?=(?:[^a-z]*[a-z]){2}[a-z]{2,}表示两个小写字母相邻。在你的例子中,他们之间有一个大写字母,他们不是紧挨着的。谢谢Wiktor,

我至少有两个小写字符的正则表达式
^(?=.[a-z]{2,})。{8,}$

如果小写字符紧挨着另一个,则此操作有效:
Test@12345
; 但不适用于
TeSt@12345
,其中小写字符不相邻

如何确保它在上述两种情况下都能工作?

尝试:
^(?=(?:.[a-z]){2})。{8,}$


这使得
{2}
应用于整个“后跟小写字母的任何内容”序列。

使用
(?=(?:[^a-z]*[a-z]){2}
[a-z]{2,}
表示两个小写字母相邻。在你的例子中,他们之间有一个大写字母,他们不是紧挨着的。谢谢Wiktor,t,J这解决了它,我理解了它。除了Wiktor和t.J的修复之外,这也适用于任何一个引用。