JavaScript - 使用正则表达式组提取

时间:2013-04-22 17:02:09

标签: javascript regex

是否可以提取字符串的正则表达式组值模式?

例如,以下代码给出了

var str = "alpha bravo charlie delta";
var regex = /\s(\w+)\s(\w+)/
var value = str.replace(regex, "$1_$2"); // Gives alphabravo_charlie delta

我正在寻找的是,

var value = str.extract(regex, "$1_$2"); // Which should give bravo_charlie

虽然str.extract不存在,有没有其他方法可以获得相同的结果?

2 个答案:

答案 0 :(得分:4)

你可以这样做:

var str = "alpha bravo charlie delta";
var regex = /\s(\w+)\s(\w+)/;
var value = "";
str.replace(regex, function($0, $1, $2){
    value = $1 + "_" + $2;
});

alert(value);

答案 1 :(得分:1)

您可以使用String.match()

var array = str.match(regex);