我需要一些小助手,我的可怜的正则表达式排骨。我试图从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);
当然'/'就是问题。
答案 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]*(?=_)
匹配的正则表达式。您没有说出您正在使用的语言,这样可以帮助您实现更具体的语言