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番目のスラッシュと4番目のスラッシュの間の値を常に取得しようとしています。

http://gskinner.com/RegExr/でテストしまし たが、結果は常に 2 番目のグループでした。

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 に答える