URL上的正则表达式

时间:2013-05-08 18:27:57

标签: regex

我需要一些小助手,我的可怜的正则表达式排骨。我试图从URL抓取41398。这个数字是一个变量

http://www.website.com/beta/flips/index/41398_1363874140/friend/756

我想出如何把所有东西都抓到/后面的索引。

var url      = document.URL;
var myRegexp = /index(.*)/;
var match    = myRegexp.exec(url);

这给我留下了/ 41398_1363874140 / friend / 756 ....

是否有一个解决方案,使用regEx来获取/和_之间的数字?

我试过

var url      = document.URL;
var myRegexp = \/(.*?)\_;
var match    = myRegexp.exec(url);

当然'/'就是问题。

4 个答案:

答案 0 :(得分:3)

如果你知道总会有一个下划线你可以使用:

var url      = document.URL;
var myRegexp = /\d+_/;
var match    = myRegexp.exec(url);

答案 1 :(得分:1)

你需要第一场比赛吗?如果没有,那么你可以直接使用:

var url      = document.URL;
var myRegexp = /index\/(.*?)_/;
var match    = myRegexp.exec(url);
嗯,你差不多了。下划线不需要转义。

否则,你可以使用你的第一场比赛(在上面第3行代码之后添加):

var myNewRegexp = /\/(.*?)_/;
var NewMatch    = myNewRegexp.exec(match);

答案 2 :(得分:1)

您可以使用:

/\/index\/(\d+)/

表示第一组与数字匹配。

答案 3 :(得分:1)

这是一个仅与数字(?<=index/)[0-9]*(?=_)匹配的正则表达式。您没有说出您正在使用的语言,这样可以帮助您实现更具体的语言