JS Regex通过'key'获取路径名'value'

时间:2014-09-01 14:35:52

标签: javascript regex

我试图获取一个路径名元素,在一个'键后面。例如,路径名,如果我有包含'/colour/red'的路径,那么我希望能够搜索“颜色”'然后得到红色'

我试图获得' 31'来自'开始'路径名。 我试过了:

var url = 'http://myapp/html/live/index/start/31/sort/start_date'
if(/\/start\/([0-9]+)\//.test(url)) {
    alert(RegExp.$1);       
}

1 个答案:

答案 0 :(得分:4)

您的正则表达式是正确的,但reged.test仅返回boolean (true/false)。您需要使用regex.exec来获取匹配数组:

if (m = /\/start\/([0-9]+)\//.exec(url)) {
   console.log(m[1]); // 31
}

如果您想将start作为动态字符串传递,请使用RegExp对象:

var key = "start";
var re = RegExp("/" + key + "/([0-9]+)/");

if (m = re.exec(url)) {
   console.log(m[1]); // 31
}