1

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

例如,下面的代码给出

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不存在,但有没有其他方法可以获得相同的结果?

4

2 回答 2

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);
于 2013-04-22T17:03:54.630 回答
1

您可以使用 String.match()

var array = str.match(regex);
于 2013-04-22T17:05:16.697 回答