Javascript 只保留正则表达式匹配的一部分

Javascript 只保留正则表达式匹配的一部分,javascript,regex,Javascript,Regex,我需要在文本中搜索一个单词。为此,我使用了这个正则表达式: var re =/duration='\d+'/ig; var i = text.match(re); 这为我提供了一个匹配数组,如“duration='300'”,“duration='400'”, 我只需要数字。如果没有duration='',您可以使用: 蒂姆的答案很有效(我不知道为什么OP说这不是他/她想要的)。也就是说,下面是使用带有回调函数替换值的String.replace()方法执行此操作的另一种方法: 函数getDu

我需要在文本中搜索一个单词。为此,我使用了这个正则表达式:

var re =/duration='\d+'/ig;
var i = text.match(re);
这为我提供了一个匹配数组,如
“duration='300'”,“duration='400'”,

我只需要数字。如果没有
duration=''
,您可以使用:

蒂姆的答案很有效(我不知道为什么OP说这不是他/她想要的)。也就是说,下面是使用带有回调函数替换值的
String.replace()
方法执行此操作的另一种方法:

函数getDurations(文本){
变量re=/duration='(\d+)'/ig;
var i=[];
replace(re,function(m0,m1){i.push(m1);返回“”;});
返回i;
}

请注意,这种技术不需要循环,而且在一条语句中完成任务非常有效。

@user3425017:请更具体一些。
var re = /duration='(\d+)'/ig;
var match = re.exec(text);
while (match != null) {
    // matched text: match[1]
    match = re.exec(text);
}