如何在正则表达式匹配之间保留文本

How to retain text between RegEx matches?

本文关键字:之间 保留 文本 正则表达式      更新时间:2023-09-26

我想从字符串中提取一些标签并根据它们执行一些操作,但剩余的字符串应该保留剥离的标签并进行进一步处理。

是否可以在一次运行中执行此操作?

例如,如果我有一个代码,它正在接受标签:

var match, result = [], regex = /<oob>(.*?)<'/oob>/ig;
while (match = regex.exec(str)) {
    result.push( match[1] );
}

我可以在比赛之间同时拿什么吗?

尝试:

str.split(regex).forEach(function(str) {
   var match = str.match(regex);
   if (!match) {
       // between matches
   }
});

正则表达式需要在括号中包含整个内容,以便匹配的文本将在拆分数组中。