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

标签 javascript regex

我想在 fromHere 字符串之后选择所有 option1、option2 等,但我最终只选择最后一个出现的位置 (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)

我找不到任何解决方案。

最佳答案

您可以使用 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);

关于javascript - 如何使用正则表达式在特定起点(单词)之后多次匹配单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45048396/

相关文章:

javascript - Microsoft Edge 和 ajax 计时

javascript - 如何在 highstock 基本线图上绘制多条线?

javascript - 无法加载正确捆绑的图像

javascript - 正则表达式删除字母数字但保留 Javascript 中的括号和空格

javascript - JSON 解析问题 : "q\r\nq"

javascript - 如何找出在javascript中加载了哪些javascript?

regex - 在 Perl 中,如何从日志文件的行中提取电子邮件地址?

正则表达式:如果元音字母按顺序(aeiou)出现在单词中则匹配,如果存在除 char 之外的 char,则不匹配

python - 如何在 Python 中通过字符串定界符将文件分成 block

regex - 使用 sed 向后删除特定空格