如何使用正则表达式在特定起始点(单词)后多次匹配单词

时间:2017-07-12 04:22:41

标签: javascript regex

我想在option1, option2字符串之后选择所有fromHere等..但我最终只选择最后一次出现(option4

regex101

这是一个例子

正则表达式:/(?=fromHere(.+((option\d))))/g

文本:

    Ok ignoring this whole line option1 ignore


    fromHere I want to match all option1 ignore option2 ignore option3 xxxx
 option4  but got only the last one (4)

我找不到任何解决方案。

1 个答案:

答案 0 :(得分:2)

您可以将String.prototype.split()RegExp /fromHere一起使用,将"fromHere"字符串从结果数组Array.prototype.pop()中删除,以获取数组的索引1String.prototype.match()RegExp /option\d/g匹配"optionN"字符串。

let str = `    Ok ignoring this whole line option1 ignore


    fromHere I want to match all option1 ignore option2 ignore option3 xxxx
 option4  but got only the last one (4)`;

let res = str.split(/fromHere/).pop().match(/option\d/g);

console.log(res);