不能否定正则表达

Rya*_*ing 5 javascript regex negative-lookahead regex-negation

我正在尝试在JavaScript中实现以下正则表达式的否定:

^(\d)\1+-(\d)\1+-(\d)\1+$
Run Code Online (Sandbox Code Playgroud)

该表达式符合以下内容:

  • 11111-111-11111
  • 22-2222-2222
  • 55-55555-55

而不是以下内容:

  • 12-22-3345
  • 32-44555-3333

我希望它与那些场景相反.

我尝试了以下正则表达式,但它们不起作用:

^(?!(\d)\1+-(\d)\1+-(\d)\1+)$
^(?!(\d))\1+-(?!(\d))\1+-(?!(\d))\1+$
^(?!(\d)\1+)-(?!(\d)\1+)-(?!(\d)\1+)$
Run Code Online (Sandbox Code Playgroud)

我以为我对前瞻性的前瞻性有了深刻的理解,但显然没有.我在这做错了什么?有人能指出我正确的解决方案吗?

编辑:这是一个乱七八糟的链接当前的正则表达式:https://regex101.com/r/jY9mJ6/1

anu*_*ava 2

这种消极的前瞻应该有效:

^(?!(\d)\1+-(\d)\1+-(\d)\1+$).*
Run Code Online (Sandbox Code Playgroud)

正则表达式演示