2017-10-06 259 views
1

我想创建一个正则表达式,其中给定的url将输出我的视频ID。我知道youtube id始终有11个字符,这是我的正则表达式,但当某人共享已播放的视频时,它不起作用:即,当您打开视频时,它会在几秒钟后开始播放。Youtube的视频网址正则表达式

请点击这里查看我的例子:

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

([0-9A-Z{11}])\w+ 

URL示例:

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 

回答

0

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

(?<=v=|/)\w{10,11} 

见你modified demo on regex101.com
这需要v=/之前十个或十一个单词字符。

0

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

\w{11} 
  • \w代表字母,数字和下划线
  • {11}确保11个这样的字符出现

然而,你的例子有一个用10个字符表示:

\w{10,11} 

Regex101 Demo