正则表达式检查字符串中的 3 个相同字母?

Nem*_*a G 1 javascript regex

我需要创建正则表达式,无论顺序如何,它都会在字符串中查找 3 个相同的字母。

例子:

'aa2ff333' -> false
'aa2a' -> true
'aaa2' -> true
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它检查连续的字母:

(.)\1\1
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

anu*_*ava 6

您可以将此正则表达式与前瞻一起使用:

/([a-zA-Z])(?=(?:.*?\1){2})/
Run Code Online (Sandbox Code Playgroud)

正则表达式演示

正则表达式详情:

  • ([a-zA-Z]):匹配一个字母[a-zA-Z]并在第 1 组中捕获它
  • (?=: 开始前瞻
    • (?:.*?\1){2}:至少有 2 次出现与捕获组 #1 中相同的字符。.*?\1匹配\10 个或多个任何字符后的反向引用。这允许匹配输入中任何地方的重复。
  • ): 结束前瞻