如何使用javascript使用正则表达式在最后一个word1条目和第一个word2条目之间获取字符串

时间:2018-11-16 09:31:14

标签: javascript regex

这是源文本

some someword various-textsomeword heresomewordthis is the target stringanother text.ext another string

我需要获得

this is the target string

在“ someword”的最后一个条目(可以是任意数量的条目)之后,可以是任何单词

在第一次输入“另一个”单词之前

使用 JavaScript ,所以?<=不起作用。有人可以在这里帮忙吗?

请不要拆分)))

2 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式来掌握2条下划线之间的所有内容:

/_.*?_(.*)?_/

首先匹配第一个下划线,然后匹配任意字符多次,然后匹配一个下划线,然后创建一个Group,以抓住下划线之间的所有内容。

您所需的输出将在Group 1中。

答案 1 :(得分:0)

您是否考虑过不使用正则表达式?

const str = "some various-text here_someword_this is the target string_another text.ext",   
      trigger = "someword";
      
let arr = str.split("_");
let match;

// iterate through the array looking for the trigger
for (let i = 0; i < arr.length - 1; i++){
  if (arr[i] == trigger){
    match = arr[i+1];
    break;
  }
}

console.log(match);