如果给定的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
http://www.youtube.com/watch?v=KeC4NKDVl70&feature=player_embedded
bool为false
我哪里错了?谢谢
答案 0 :(得分:3)
var youtubeHosts=new string[]{"youtube","youtube-nocookie","youtu.be"};
Uri uri=new Uri(path);
bool isValid=youtubeHosts.Any(x=>uri.Host==x);