从youtube url获取视图代码的正则表达式是什么?

What would be the regex to get the view code from youtube urls?

本文关键字:正则表达式 是什么 代码 视图 youtube url 获取      更新时间:2023-09-26

我只需要从youtube url获取视图代码。api返回的字符串看起来像这样:

http:'/'/www.youtube.com'/watch?v=XODUrTtvZks&feature=youtube_gdata_player

我需要得到这个部分:

XODUrTtvZks

,请记住,有时在v=之后可能会有额外的参数,例如:

&feature=youtube_gdata_player

,有时可能没有。有人能提供在这种情况下工作的正则表达式,并举例说明如何使用javascript?

您可以使用/v=([^&]+)/并在偏移量1处获得匹配

此片段仅匹配来自youtube.com的URL:

var url = 'http://www.youtube.com/watch?v=XODUrTtvZks&feature=youtube_gdata_player';
var matches = url.match(/^http[s]?:'/'/www.youtube.com'/watch'?'s*v=([^&]+)/i);
if (matches) {
    var videoID = matches[1];
    // do stuff
}

您可以使用一个名为RegExr的在线工具来获取您的正则表达式,[http://gskinner.com/RegExr/]。

的问候拉胡尔

这段代码来自Google自己的解析器:

function getIdFromUrl(url) {
    return /https?:'/'/(?:[a-zA_Z]{2,3}.)?(?:youtube'.com'/watch'?)((?:['w'd'-'_'=]+&(?:amp;)?)*v(?:<[A-Z]+>)?=([0-9a-zA-Z'-'_]+))/i.exec(url)[2];
}

你可以在这里看到:

http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/ui/media/youtube.js?r=1221 246