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);
我试图总是得到第3斜杠和第4斜杠之间的值 这是“地图”和“网站”,
我在http://gskinner.com/RegExr/上测试过 但结果总是第二组 如果有人可以帮忙吗?
答案 0 :(得分:1)
如果你想使代码不那么复杂,你可以在没有正则表达式的情况下完成它。
操纵您的网址字符串,以便您只拥有自己的参数:
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'
答案 1 :(得分: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