【发布时间】:2015-10-20 05:34:31
【问题描述】:
我正在寻找一种使用正则表达式扫描以下场景并返回特定视频的 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。
谢谢!
【问题讨论】:
-
所以
/https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|<\/a>))[?=&+%\w.-]*/ig会给我我想要的...?有什么办法……缩短这个?
标签: javascript regex