Javascript正则表达式

Javascript正则表达式,javascript,regex,Javascript,Regex,我需要从如下url获取id:id为正整数。 我尝试使用regexp执行此操作: url = 'http://127.0.0.1:8000/api/v1/customer/3/' url.match('///d/') 但这种模式不起作用。 请帮帮我 这样就足够了: var url = 'http://127.0.0.1:8000/api/v1/customer/3/'; var id; url = url.split('/'); for (var x = 0; x < url.length

我需要从如下url获取id:id为正整数。 我尝试使用regexp执行此操作:

url = 'http://127.0.0.1:8000/api/v1/customer/3/'
url.match('///d/')
但这种模式不起作用。
请帮帮我

这样就足够了:

var url = 'http://127.0.0.1:8000/api/v1/customer/3/';
var id;
url = url.split('/');
for (var x = 0; x < url.length; x++) {
    if (url[x] === 'customer') {
        id = parseInt(url[x + 1], 10);
        break;
    }
}
var url='1〕http://127.0.0.1:8000/api/v1/customer/3/';
变量id;
url=url.split('/');
对于(var x=0;x
假设您总是希望字符串末尾有最后一位数字,我会这样做:

(\d)(?:\/)$

或者,如果要使尾部的
/
可选,可以执行以下操作:

(\d)(?:\/)?$

请参见

此regexp获取url末尾的数字:/3/->3

/\/([0-9]+)\/$/

\d
是一个数字,而不是
/d
@WalterTross。我知道它看起来是RTFM,但我看到你也没有读它,因为你的答案是错的too@Denis:Wooble所说的绝对正确,
\d
匹配任何数字。另一方面,你的回答很粗鲁。小心点,我不会和Wooble争论。看起来很奇怪,我需要更实际的解决方法regexp@Denis:有什么奇怪的?期待着我。我只需要一个介于两个之间的正整数slashes@Denis这将以字符串形式返回id。如果希望它是一个函数,请执行parseInt(url[x+1])number@Denis如果你不喜欢就不要用它。它很简单,如果您愿意,它允许您查看url中的其余标记;匹配('/\/([0-9]+)\/$/');返回null@Denis:你误解了。开头和结尾的
/
用于在代码中放置文字regexp。你不能把这句话用引号引起来<代码>url='127.0.0.1:8000/api/v1/customer/3/';匹配(/\/([0-9]+)\/$/)返回
[“/3/”,“3”]
许多thx,lal,我开始发疯,因为我所有的regexp都不想工作)))javascript…所有这些工作人员都返回null,只是没有work@Denis当前位置在英语中,我们说“谢谢”。但它确实有效。正如上面Friederike所指出的,您的问题是,您一直将正则表达式文本视为字符串。事实并非如此。它们不需要(也不应该)用引号括起来。你需要
url.match(/(\d)(?:\/)$/)
。好吧,我知道你解决的错误也很好,我被javascript搞糊涂了,怎么可能传递到函数,我甚至不知道这是如何调用的。。。没有引号的纯文本。@Denis:好的,没关系。它可能看起来像纯文本,但它不是。正如将某些字符括在引号中使其成为字符串一样,将其括在
/
之间使其成为正则表达式文字。它是
newregexp(“abc”)
语法的一种快捷方式,避免了使用
newregex
语法时可能会带来的很多麻烦。有关更多信息,请参阅。谢谢,我将仔细阅读本文。