在javascript regexp中匹配第二次出现

时间:2016-06-18 18:56:58

标签: javascript regex

我是regexps的新手,语法融化了我的大脑,所以基本上我有一个看起来像这样的字符串

randomtext WORD randomtext WORD neededtext BORDERWORD randomtext

borderword 彼此不同,其他内容则不言自明。

我已经达到/(.?(WORD)){2}((.|\n)*)BORDERWORD/,但它不起作用。

另一个问题是 randomtext neededtext 都包含换行符,我认为我在尝试匹配 neededtext 的匹配组中解决了((.|\n)*)但不知道如何让它在第一个工作。

非常感谢任何帮助。

修改:找出解决方法,首先匹配word((.|\n)*)borderword,然后将结果与word((.|\n)*)完成匹配。似乎不对,但它适用于我的目的。

2 个答案:

答案 0 :(得分:1)

这应该有效:

ex -sc g/+/-j -cx file

确保您要在 WORD BORDERWORD 之间提取文本,并且该文本不包含其他WORD序列。

捕获第1组将包含所需的文本

Regex demo

答案 1 :(得分:0)

var str = "randomtext WORD randomtext WORD neededtext BORDERWORD randomtext";
var matches = str.match(/^.+? WORD .+? WORD (.+?) BORDERWORD/);
console.log(matches[1]); // neededtext