Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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-Regex-Vimeo-ID_Javascript_Regex_Vimeo - Fatal编程技术网

Javascript-Regex-Vimeo-ID

Javascript-Regex-Vimeo-ID,javascript,regex,vimeo,Javascript,Regex,Vimeo,我使用这个正则表达式从url获取Vimeo视频ID: /\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?/i 然而,由于JSLint,当我尝试验证这个正则表达式时,它似乎有一些输入错误和问题,例如: Expected a regexp factor and

我使用这个正则表达式从url获取Vimeo视频ID:

/\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?/i
然而,由于JSLint,当我尝试验证这个正则表达式时,它似乎有一些输入错误和问题,例如:

Expected a regexp factor and instead saw ')'.

我找不到问题的确切位置。

JSLint正在抱怨
视频\/|
上的管道,可以安全地忽略此错误

var主题=”https://vimeo.com/195940605";
var result=subject.match(/(?:www.| player\)?vimeo.com\/(?:channels\/(?:\w+\/)?;groups\/(?:[^\/]*)\/视频\专辑/(?:\d+)/视频\视频\视频\视频\/)(\d+([a-zA-Z0-9\-]+)/i);

文件写入(结果[0])由于使用正则表达式,所以认为JSLILT是错误的。哼…我想我发现了我的错误,我有一个|不知在哪里,我只需要将“video\/)(\d+”替换为“video\/)?(\d+)。它工作正常,而且是有效的。啊-但是你原来的正则表达式也是如此!空的
,如
(a |)
是有效的;它将匹配
a
或不匹配。所以JSLint是错误的。(也许这是一个很好的答案。使用JSLint是一个很好的实践,但需要注意的是,它仍然是由人类编写的。)我的第二次尝试是否会有与空或空文件相同的行为?我真的不是正则表达式专家……好吧。谢谢你的帮助。我将测试所有的可能性,并检查什么是最好的解决方案,无论JSLint是否发出警告……您的意思是忽略它是安全的,因为它不是一个实际的错误吗?我相信这也会影响比赛结果。