使用RegEx在Javascript中将重复数字(相同的数字)恰好匹配两次

时间:2017-03-06 09:46:27

标签: javascript regex

我目前正在尝试匹配一个重复的数字,到目前为止,我已经得到了这个:

pattern = /(\d){2}/

但是当我用任意长度> = 2来测试这个模式时,它将返回true。我想要找到的是以下内容: 当我测试数字12344时,它应该返回true,如果数字是12345,它应该返回false。但是拥有12444的数字也应该返回false。我想找到重复两次相同的数字。

编辑:感谢任何人提出解决方案!

2 个答案:

答案 0 :(得分:7)

对于这类任务,您必须使用外观和反向引用:

(?:^|(.)(?!\1))(\d)\2(?!\2)

说明:

(?:         // match either...
    ^       // start of the string
|           // or...
    (.)     // any character
    (?!\1)  // not followed by the exact same character
)
(\d)        // then, match and capture a digit
\2          // and the same digit a 2nd time
(?!\2)      // and assert the digit doesn't show up a 3rd time

答案 1 :(得分:1)

/(00|11|22|33|44|55|66|77|88|99)/