2013-08-26 50 views
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); 

我試圖在第3斜線和第四斜線 這是「地圖」和「網站」之間總是得到價值的價值,HTML內容的第一組

我在http://gskinner.com/RegExr/ 上測試,但結果總是第二組 如果有人可以幫忙?

回答

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 
+1

single!轟!謝謝 – olo

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' 
+0

很好的解釋非常感謝 – olo