Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Youtube视频url正则表达式_Regex_Video_Youtube - Fatal编程技术网

Regex Youtube视频url正则表达式

Regex Youtube视频url正则表达式,regex,video,youtube,Regex,Video,Youtube,我想创建一个正则表达式,其中url将输出我的视频id。我知道youtube id始终有11个字符,我的正则表达式可以工作,但当有人共享已播放的视频时,它不工作:即当你打开一个视频时,它从x秒开始 请在此处查看我的示例: 示例url: https://www.youtube.com/watch?v=MI9tFPT6yK4&t=17s https://www.youtube.com/watch?v=48Y_jWQDDiw https://www.youtube.com/MI9tPtdas5

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

请在此处查看我的示例:

示例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

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

\w{11}
  • \w
    表示字母、数字和下划线
  • {11}
    确保出现11个这样的字符
但是,您的示例中有一个包含10个字符,因此:

\w{10,11}

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

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