是否可以提取字符串的正则表达式组值模式?
例如,以下代码给出了
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
不存在,有没有其他方法可以获得相同的结果?
答案 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);