Regex URL上的正则表达式

Regex URL上的正则表达式,regex,Regex,我需要一个带着我可怜的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_1363874

我需要一个带着我可怜的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

正则表达式是否有一个解决方案来获取/和x之间的数字

我试过了

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

当然,“/”是个问题。

你需要第一个匹配吗?如果没有,则可以直接使用:

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

否则,您可以使用第一个匹配项(在上面的前3行代码之后添加这些匹配项):

您可以使用:

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

这意味着第一个组与数字匹配。

这里有一个只与数字匹配的正则表达式
(?如果您知道始终可以使用下划线:

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