Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图更新vimeo正则表达式以从URL获取ID,其中包括;频道/员工精选”;_Javascript_Regex_Url_Vimeo_Capture Group - Fatal编程技术网

Javascript 试图更新vimeo正则表达式以从URL获取ID,其中包括;频道/员工精选”;

Javascript 试图更新vimeo正则表达式以从URL获取ID,其中包括;频道/员工精选”;,javascript,regex,url,vimeo,capture-group,Javascript,Regex,Url,Vimeo,Capture Group,我有一个vimeo正则表达式,它可以从标准URL获取ID:https://vimeo.com/42100325 当URL为:https://vimeo.com/channels/staffpicks/142100325 这就是我目前的情况: var vimeoId = /\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i; 尝试以下模式: var vimeoId = /\/\/(?:www\.)?vimeo\.com\/(?:channels\/staffpic

我有一个vimeo正则表达式,它可以从标准URL获取ID:
https://vimeo.com/42100325

当URL为:
https://vimeo.com/channels/staffpicks/142100325

这就是我目前的情况:

var vimeoId = /\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i;
尝试以下模式:

var vimeoId = /\/\/(?:www\.)?vimeo\.com\/(?:channels\/staffpicks\/)?([-\w]+)/i;

由于您只对末尾的部分感兴趣,因此没有理由在regexp中描述整个字符串:

var vimeoId = /([0-9a-z\-_]+)$/i;

你知道,这也解决了URL中其他/chanels/etc/的问题。完美的一旦时间限制到了,我会标记为正确:)我想这可以适用于任何我只需要获取最后一部分的URL?是的。也许你需要花一些时间来研究一下正则表达式。例如:像“$”(字符串的结尾)或“^”(字符串的开头)这样的标记使在这种特殊情况下从字符串检索数据变得非常容易,而不必担心字符串是如何详细构建的。您可以尝试
/[^/]+$/
@hjpotter92:nice add。但是请记住不要用斜杠:[^\/]+$谢谢,这确实有效-我将把另一个答案标记为正确,因为它也解决了一些其他问题:)