using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?:https?:)?(?:\/\/)?(?:(?:www\.|m\.)?youtube(?:-nocookie)?\.com\/(?:v\/|e\/|embed\/|w\/|(?:watch\?v=|(?:(?:\?|watch\?)(?:[\w]+=[\w]+&?)+)v=)?|shorts\/)|youtu\.be\/(?:watch\?v=)?)([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['\""][^<>]*>|<\/a>))[?=&+%\w.-]*$";
string input = @"thisdoesnotmatch
seulement11
l_la5XiQJdk
Qa5McwO3qY0
https://www.youtube.com/w/0tI4nOURzKI
https://www.youtube.com/shorts/Qa5McwO3qY0
youtube.com/watch?v=vpiMAaPTze8
//youtu.be/DFYRQ_zQ-gk
youtu.be/DFYRQ_zQ-gk
http://www.youtube.com/watch?v=vpiMAaPTze8
http://youtu.be/l_la5XiQJdk
http://youtu.be/NLqAF9hrVbY
https://youtu.be/qT47KF5pvfw
https://youtu.be/zImHyTyYhM8?t=4s
https://youtu.be/DFYRQ_zQ-gk?t=120
https://youtu.be/DFYRQ_zQ-gk
http://youtu.be/DFYRQ_zQ-gk
//youtu.be/DFYRQ_zQ-gk
http://www.youtube-nocookie.com/watch?v=NLqAF9hrVbY
https://www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
http://www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
//www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
http://www.youtube.com/v/dQw4w9WgXcQ
http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US
http://www.youtube.com/embed/NLqAF9hrVbY
https://www.youtube.com/embed/NLqAF9hrVbY
http://www.youtube.com/embed/dQw4w9WgXcQ
https://www.youtube.com/embed/DFYRQ_zQ-gk?autoplay=1
https://www.youtube.com/embed/DFYRQ_zQ-gk
http://www.youtube.com/embed/DFYRQ_zQ-gk
//www.youtube.com/embed/DFYRQ_zQ-gk
www.youtube.com/embed/DFYRQ_zQ-gk
https://youtube.com/embed/DFYRQ_zQ-gk
http://youtube.com/embed/DFYRQ_zQ-gk
//youtube.com/embed/DFYRQ_zQ-gk
youtube.com/embed/DFYRQ_zQ-gk
http://www.youtube.com/e/dQw4w9WgXcQ
http://www.youtube.com/watch?v=NLqAF9hrVbY
http://www.youtube.com/watch?v=spDj54kf-vY&feature=g-vrec
http://www.youtube.com/watch?v=spDj54kf-vY&feature=youtu.be
https://www.youtube.com/watch?v=MRl7cxSOXdU&feature=youtu.be
https://www.youtube.com/watch?v=q07SQFmL4rM
https://www.youtube.com/watch?v=q07SQFmL4yM
https://www.youtube.com/watch?v=zImHyTyYhM8&t=4s
http://www.youtube.com/watch?v=dQw4w9WgXcQ
https://www.youtube.com/watch?v=DFYRQ_zQ-gk&feature=featured
https://www.youtube.com/watch?v=DFYRQ_zQ-gk
http://www.youtube.com/watch?v=DFYRQ_zQ-gk
//www.youtube.com/watch?v=DFYRQ_zQ-gk
www.youtube.com/watch?v=DFYRQ_zQ-gk
http://www.youtube.com/watch?v=DFYRQ_zQ-gk
//www.youtube.com/watch?v=DFYRQ_zQ-gk
www.youtube.com/watch?v=DFYRQ_zQ-gk
https://youtube.com/watch?v=DFYRQ_zQ-gk
http://youtube.com/watch?v=DFYRQ_zQ-gk
//youtube.com/watch?v=DFYRQ_zQ-gk
youtube.com/watch?v=DFYRQ_zQ-gk
https://www.youtube.com/watch?time_continue=4&v=zImHyTyYhM8
https://www.youtube.com/watch?v=zImHyTyYhM8
This working:
https://www.youtube.com/watch?v=zImHyTyYhM8&time_continue=4&
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=player_embedded
http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ
http://www.youtube.com/?aa=aa&bbb=bbb&cccc=cccc&v=dQw4w9WgXcQ
http://www.youtube.com/?aa=aa&bbb=bbb&v=dQw4w9WgXcQ&cccc=cccc
http://www.youtube.com/?aa=aa&v=dQw4w9WgXcQ&bbb=bbb&cccc=cccc
https://m.youtube.com/watch?v=DFYRQ_zQ-gk
http://m.youtube.com/watch?v=DFYRQ_zQ-gk
//m.youtube.com/watch?v=DFYRQ_zQ-gk
m.youtube.com/watch?v=DFYRQ_zQ-gk
------------------------------- All wrong urls -------------------------------------------------
http://www.youtube.com/user/username#p/u/11/dQw4w9WgXcQ
http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ
http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I
http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/2/PPS-8DMrAn4
http://gdata.youtube.com/feeds/api/videos/NLqAF9hrVbY
https://www.youtube.com/HamdiKickProduction?v=DFYRQ_zQ-gk
http://www.youtube.com/?v=dQw4w9WgXcQ
http://www.youtube.com/&v=dQw4w9WgXcQ
www.youtube.com/watch/ccc/ddd/DFYRQ_zQ-gk&feature=featured
//www.youtube.com/vk/DFYRQ_zQwww
//www.youtube.com/sdasdsadsd/DFYRQ_zQwww/fdfsdf/sdfsdfsdf
www.youtube.com/awssssssss
youtu.be/e/e/e/e/e/DFYRQ_zQwww/d/d/d/d/a/sfd/asd/as/DFYRQ_zQwww
https://www.youtube.com/v=0tI4nOURzKI
www.youtube.com/v=/DFYRQ_zQwww
www.youtube.com/vDFYRQ_zQwww
";
RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx