如何使用RegExp多次匹配重叠模式

时间:2018-04-10 03:22:28

标签: javascript regex

有没有一种方法可以使用RegExp给出正则表达式/ aa / g(或类似)它匹配字符串的两倍" aaa"?鉴于第一场比赛是前两场比赛,第二场比赛是最后两场比赛。

这样的事情:

  • 匹配1:' aa' a
  • 第2场比赛:a' aa'

2 个答案:

答案 0 :(得分:2)

您可以将lastIndex的{​​{1}}更改为reg



index+1




答案 1 :(得分:1)

你可以捕获两个 a 的内部预测,然后返回&匹配一个 a 字符。

    let pattern = /(?=(a{2}))a/g;
    let resultMatches = [];
    let match;
    let stringToCheck = 'aaa';

    while ((match = pattern.exec(stringToCheck)) !== null)
        resultMatches.push(match[1]);

    console.log(resultMatches);

  

使用'aaa'作为输入返回['aa','aa'],而使用'aaaa'作为输入将返回['aa','aa','aa']