Regex C#-匹配任何YouTube.com URI

Regex C#-匹配任何YouTube.com URI,c#,regex,youtube,C#,Regex,Youtube,如果给定的URI是YouTube网站的一个页面,我需要与C#核实 string theUri = "http://www.youtube.com/watch?v=B4N_CliHGUk&feature=player_embedded"; bool isYoutube = Regex.IsMatch(theUri.ToString(), @"/https?:\/\/(www\.)?(youtube\.com|youtu\.be|youtube-nocookie\.com).*/i");


如果给定的URI是YouTube网站的一个页面,我需要与C#核实

string theUri = "http://www.youtube.com/watch?v=B4N_CliHGUk&feature=player_embedded";
bool isYoutube = Regex.IsMatch(theUri.ToString(), @"/https?:\/\/(www\.)?(youtube\.com|youtu\.be|youtube-nocookie\.com).*/i");
正则表达式并不复杂,应该可以正常工作:

https?:\/\/(?:www\.)?(?:youtube\.com|youtu\.be|youtube-nocookie\.com).+

但它不起作用;
isYouTube
bool是false,其简单URI如下
http://www.youtube.com/watch?v=KeC4NKDVl70&feature=player_embedded


我错在哪里?谢谢

谢谢,我将尝试以下方式:)使用这些youtube主机:
var youtube主机=新字符串[]{“youtube.com”、“www.youtube.com”、“youtube nocookie.com”、“www.youtube-nocookie.com”、“youtu.be”、“www.youtu.be”}谢谢:)谢谢,我将尝试以下方式:)使用这些youtube主机:
var youtube主机=新字符串[]{“youtube.com”、“www.youtube.com”、“youtube nocookie.com”、“www.youtube-nocookie.com”、“youtu.be”、“www.youtu.be”}谢谢:)谢谢,我将尝试以下方式:)使用这些youtube主机:
var youtube主机=新字符串[]{“youtube.com”、“www.youtube.com”、“youtube nocookie.com”、“www.youtube-nocookie.com”、“youtu.be”、“www.youtu.be”}谢谢:)谢谢,我将尝试以下方式:)使用这些youtube主机:
var youtube主机=新字符串[]{“youtube.com”、“www.youtube.com”、“youtube nocookie.com”、“www.youtube-nocookie.com”、“youtu.be”、“www.youtu.be”}谢谢:)
var youtubeHosts=new string[]{"youtube","youtube-nocookie","youtu.be"};
Uri uri=new Uri(path);
bool isValid=youtubeHosts.Any(x=>uri.Host==x);