我正在尝试从youtube链接中检索播放列表ids,如下所示:
https://www.youtube.com/watch?v=hv_X327YUdI&list=SPGznEl712WelO6ZhS8lc2ssweLuQaCKld或
https://www.youtube.com/playlist?list=SPGznEl712WelO6ZhS8lc2ssweLuQaCKld并拒绝不属于youtube的链接。
因此,在这种情况下,结果将是:
SPGznEl712WelO6ZhS8lc2ssweLuQaCKld发布于 2013-06-02 08:44:27
这就是我最终怎么做的:
此函数用于验证链接是否来自youtube:
function youtube_validate(url) {
var regExp = /^(?:https?:\/\/)?(?:www\.)?youtube\.com(?:\S+)?$/;
return url.match(regExp)&&url.match(regExp).length>0;
}此函数用于检索播放列表id
//get playlist id from url
function youtube_playlist_parser(url){
var reg = new RegExp("[&?]list=([a-z0-9_]+)","i");
var match = reg.exec(url);
if (match&&match[1].length>0&&youtube_validate(url)){
return match[1];
}else{
return "nope";
}
} 发布于 2013-06-01 09:45:00
好了,我想你已经提取了链接:
var link = 'https://www.youtube.com/watch?v=hv_X327YUdI&list=SPGznEl712WelO6ZhS8lc2ssweLuQaCKld';
var reg = new RegExp("[&?]list=([a-z0-9_]+)","i");
var match = reg.exec(link);
alert(match[1]);解释
[&?] one of these characters
list=
( capture group 1
[A-Za-z0-9_]+ all characters that are in [A-Za-z0-9_], one or more times
) close capture group 1发布于 2017-11-11 20:01:46
(?:youtube.com.(?:\?|&)(?:list)=)((?!videoseries)a-zA-Z0-9_-)
(第一组)
一些播放列表id有"-“https://regexr.com/3h5gs np:
https://www.youtube.com/watch?v=ldY6WNjEmGY&list=RDw9pC-51IQ60&index=6
首先,我为我发现的德国电子音乐:>道歉
https://stackoverflow.com/questions/16868181
复制相似问题