0


如果给定的 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使用这样的简单 URI,布尔值是错误的http://www.youtube.com/watch?v=KeC4NKDVl70&feature=player_embedded

我哪里错了?谢谢

4

1 回答 1

3
var youtubeHosts=new string[]{"youtube","youtube-nocookie","youtu.be"};
Uri uri=new Uri(path);
bool isValid=youtubeHosts.Any(x=>uri.Host==x);
于 2013-10-20T17:23:47.700 回答