正则表达式 - 不按顺序匹配重复的字符

时间:2014-01-16 16:17:38

标签: javascript regex

有没有办法匹配序列中的重复字符?

假设我在字符串中寻找至少两个6。

var string = "61236";

我只能找到匹配0或1的quantifiers或序列中的字符。

感谢。

4 个答案:

答案 0 :(得分:7)

这是一个正则表达式,它匹配一个字符,该字符在字符串中的某个字符后跟相同的数字:

/(.)(?=.*?\1)/

用法:

var test = '0612364';
test.match(/(.)(?=.*?\1)/)[0] // 6

DEMO:https://regex101.com/r/xU1rG4/4

这是一个匹配它重复至少3次(总共发生4次以上)

/(.)(?=(.*?\1){3,})/

DEMO:https://regex101.com/r/xU1rG4/3

答案 1 :(得分:3)

尝试使用此正则表达式:

/(.).*?\1/

答案 2 :(得分:0)

匹配6和其他任何东西直到另外6

!!"61236".match("6.*6")
// returns true

匹配6和其他任何东西,直到另一个与第一组相同(这是6)

!!"61236".match(/(6).*\1/)
// returns true

答案 3 :(得分:0)

不按顺序出现并且出现多次的字符:

/(.)(.+\1)+/