所以我有这个正则表达式来获取YouTube链接
/(http|https):\/\/www\.youtube\.com\/watch\?v=(\w+)/i
但问题是,它不会结束这样的链接:
https://www.youtube.com/watch?v=videoID&sdfgsdfgsdfg;jsfdg;lkjsdf;gkj
它选择https://www.youtube.com/watch?v=videoID
并单独留下&sdfgsdfgsdfg;jsfdg;lkjsdf;gkj
。我希望它在提取视频ID的同时获取整个字符串。
答案 0 :(得分:0)
试试这个
/https?:\/\/www\.youtube\.com\/watch\?.*?&?v=(\w+)(?:&[^\s]+)?/i
https?
与(?:http|https)
相同,您没有说您需要捕获协议/watch\?
...
.*?
- 使用任何其他查询参数&?
- 如果还有其他查询参数,则会有&
v=(\w+)(?:&[^\s]+)?
- 捕获VideoID,并可选地将其余网址捕获到空白