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

Parse youtube video ID from multiple different link style/formats?

本文关键字:格式 youtube ID 视频 样式 链接      更新时间:2023-09-26

我正在寻找一种使用正则表达式扫描以下场景并返回特定视频的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。

谢谢!

我自己想出来的。我相信这是"如何使用正则表达式在字符串中查找所有Youtube视频ID?"的重复,但它提供了一个非常长的正则表达式来接受许多我不会遇到的情况。

以下正则表达式有效,只捕获了我想要的内容:/(?:'.be'/|watch'?v=)([^'s&]+)/

对不起,谢谢!