Youtube视频网址正则表达式[重复]

Posted

技术标签:

【中文标题】Youtube视频网址正则表达式[重复]【英文标题】:Youtube video url regex [duplicate] 【发布时间】:2018-03-18 02:18:49 【问题描述】:

我想创建一个正则表达式,其中给出的 url 将输出我的视频 ID。我知道 youtube id 总是有 11 个字符,我的正则表达式可以工作,但是当有人分享已经播放的视频时它不起作用:即当你打开一个视频时,它从 x 秒开始。

请在此处查看我的示例:

https://regex101.com/r/kgVkTE/1

([0-9A-Z11])\w+

示例网址:

https://www.youtube.com/watch?v=MI9tFPT6yK4&t=17s
https://www.youtube.com/watch?v=48Y_jWQDDiw
https://www.youtube.com/MI9tPtdas5
https://www.youtube.com/9MI9tPtdas5

【问题讨论】:

【参考方案1】:

根据您的输入字符串,您可以使用:

(?<=v=|/)\w10,11

请查看您的modified demo on regex101.com。 这需要在 10 个或 11 个单词字符之前使用 v=/

【讨论】:

【参考方案2】:

根据您的描述,我假设 ID 将始终包含 11 个字符。如果总是这样,那么您可以简单地使用:

\w11
\w 代表字母、数字和下划线 11 确保出现 11 个这样的字符

但是,您的示例有一个包含 10 个字符的示例:

\w10,11

Regex101 Demo

【讨论】:

以上是关于Youtube视频网址正则表达式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式从 youtube/vimeo url 中提取域和视频 ID

YouTube ID 的正则表达式 [重复]

youtube URL 的正则表达式

YouTube 网址 - 正则表达式

php 正则表达式:YouTube网址

C# 正则表达式通过 url 从 youtube 和 vimeo 获取视频 ID