Javascript 匹配正斜杠后的最后一个或多个数字
在Rails应用程序中的JavaScript函数中,我试图获取配方的id。像这样查看事件对象内部Javascript 匹配正斜杠后的最后一个或多个数字,javascript,regex,Javascript,Regex,在Rails应用程序中的JavaScript函数中,我试图获取配方的id。像这样查看事件对象内部 e.delegateTarget.baseURI 生成uri,其最后一个数字(在正斜杠之后)是我想要的id http://myroute.com/users/2/recipes/6 当然,这个id在将来可能会更长,所以我需要能够得到最后一个正斜杠后的所有数字 我试图通过这种方式获得最后一个身份证 var uri = e.delegateTarget.baseURI var re = /^(.*
e.delegateTarget.baseURI
生成uri,其最后一个数字(在正斜杠之后)是我想要的id
http://myroute.com/users/2/recipes/6
当然,这个id在将来可能会更长,所以我需要能够得到最后一个正斜杠后的所有数字
我试图通过这种方式获得最后一个身份证
var uri = e.delegateTarget.baseURI
var re = /^(.*[\\\/\d])/;
var recipe_id = uri.match(re);
匹配的斜杠应该是最后一个,因为。*贪婪地匹配,然后我查找任何数字。这是完全错误的。我对正则表达式不是很有经验。您能帮忙吗?一个非常简单的方法是使用string.split() 编辑: 使用返回弹出值的.pop()方法更容易 就像埃尔克兰斯说的
var uri = e.delegateTarget.baseURI,
recipe_id = uri.split('/').pop();
您应该使用特殊字符
$
,这意味着输入结束:
re = /\d+$/; //matches one or more digits from the end of the input
是一个很好的JavaScript正则表达式资源。
url.split('/').pop()
?是的。我想如果在最后一个正斜杠后预期的不仅仅是数字,那么doing.split(“/”).pop()看起来更优雅。
re = /\d+$/; //matches one or more digits from the end of the input