1
var reg = /([^/]+)(?=/[^/]+/?$);
string = 'http://www.mywebsite.com/map/books/price'
string2 = 'http://www.mywebsite.com/site/food/meat/pork'

var value = str.match(reg);
var value2 = str.match(reg);

我试图始终获得第三个斜线和第四个斜线之间的值,即“地图”和“站点”,

我在http://gskinner.com/RegExr/上进行了测试, 但如果有人可以提供帮助,结果总是第二组?

4

2 回答 2

1

你可以在没有正则表达式的情况下做到这一点......如果你想让代码不那么复杂。

操作您的 url 字符串,以便您只有您的参数:

var url = 'http://www.mywebsite.com/map/books/price';
var req = url.substring( url.indexOf('.com/')+5 ); // 'map/books/price'
var args = req.split('/'); // ['map','books','price']

然后,提取您想要的参数:

var firstArg = args[0]; // 'map'
于 2013-08-26T03:37:04.333 回答
1

使用基本的 split()函数

var str = "http://www.mywebsite.com/site/food/meat/pork";
var str1 = "http://www.mywebsite.com/map/books/price";

str.split("/")[3];    // site
str1.split("/")[3];   // map
于 2013-08-26T03:39:10.247 回答