我是regexps的新手,语法融化了我的大脑,所以基本上我有一个看起来像这样的字符串
randomtext WORD randomtext WORD neededtext BORDERWORD randomtext
字和 borderword 彼此不同,其他内容则不言自明。
我已经达到/(.?(WORD)){2}((.|\n)*)BORDERWORD/
,但它不起作用。
另一个问题是 randomtext 和 neededtext 都包含换行符,我认为我在尝试匹配 neededtext 的匹配组中解决了((.|\n)*)
但不知道如何让它在第一个工作。
非常感谢任何帮助。
修改:找出解决方法,首先匹配word((.|\n)*)borderword
,然后将结果与word((.|\n)*)
完成匹配。似乎不对,但它适用于我的目的。
答案 0 :(得分:1)
这应该有效:
ex -sc g/+/-j -cx file
确保您要在 WORD 和 BORDERWORD 之间提取文本,并且该文本不包含其他WORD序列。
捕获第1组将包含所需的文本
答案 1 :(得分:0)
var str = "randomtext WORD randomtext WORD neededtext BORDERWORD randomtext";
var matches = str.match(/^.+? WORD .+? WORD (.+?) BORDERWORD/);
console.log(matches[1]); // neededtext