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).+

正規表現の視覚化

Debuggex デモ

しかし、うまくいきません。bool は、isYouTubeこのような単純な URI では false です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 に答える