我只需要从youtube网址获取视图代码。 api返回的字符串看起来像这样:
http:\/\/www.youtube.com\/watch?v=XODUrTtvZks&feature=youtube_gdata_player
我需要得到这个部分:
XODUrTtvZks
从上面可以看出,有时在v =之后可能会有其他参数:
&feature=youtube_gdata_player
有时可能没有。有人可以提供在这种情况下工作的正则表达式以及如何使用javascript使用它的示例吗?
答案 0 :(得分:1)
您可以使用/v=([^&]+)/
并在偏移1处获得匹配。
答案 1 :(得分:0)
此代码段仅与来自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
}
答案 2 :(得分:0)
您可以使用名为RegExr的在线工具来获取正则表达式,[http://gskinner.com/RegExr/]。
此致 拉胡尔
答案 3 :(得分:0)
此代码段来自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];
}
你可以在这里看到: