从多种不同的链接样式/格式解析YouTube视频ID?

时间:2015-07-29 09:53:42

标签: javascript regex

我正在寻找一种方法来使用正则表达式扫描以下场景并返回特定视频的YouTube视频ID。

youtu.be/dQw4w9WgXcQ
www.youtube.com/watch?v=dQw4w9WgXcQ
https://www.youtube.com/watch?v=dQw4w9WgXcQ
https://www.youtube.com/watch?v=dQw4w9WgXcQ&index=2&list=PLsBI83Bzbnacim19bTUONClIGpT22Zfkw

以下所有情况都应仅捕获dQw4w9WgXcQ(原始视频ID)

知道我用什么正则表达式来捕获它?请注意,youtube链接还可以包含-_,因此\w+无法始终正确捕获视频ID。

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己想通了。我相信这是"How to find all Youtube video ids in a string using a regex?"的副本,但它提供了一个非常冗长的正则表达式来接受我不会遇到的许多案例。

以下正则表达式只能使用我想要的内容:/(?:\.be\/|watch\?v=)([^\s&]+)/

抱歉,谢谢!