开发者

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

开发者 https://www.devze.com 2023-04-12 00:28 出处:网络
I just need to get th开发者_开发技巧e view code from youtube urls. The api is returning back strings that look like this:

I just need to get th开发者_开发技巧e view code from youtube urls. The api is returning back strings that look like this:

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

I need to get this part:

XODUrTtvZks

from the above, keep in mind that sometimes there may be additional parameters after the v=something like:

&feature=youtube_gdata_player

and sometimes there may not be. Can someone please provide the regex that would work in this situation and an example of how to use it using javascript?


You can use /v=([^&]+)/ and get the match at offset 1.


This snippet only matches on URL's from youtube.com:

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
}


You can use an online tool called RegExr to get your regular expression ,[http://gskinner.com/RegExr/].

Regards Rahul


This snippet is from Google’s own parser at closure:

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];
}

You can see it here:

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

0

精彩评论

暂无评论...
验证码 换一张
取 消