Imgur ID совпадает с использованием Regex в ASP.NET C # - PullRequest
2 голосов
/ 16 августа 2011

Я довольно неопытен, когда дело доходит до регулярных выражений, и подумал, может ли кто-нибудь помочь мне достичь следующего.

Мне нужно регулярное выражение, которое будет проверять, является ли определенный URL-адрес допустимым изображением imgur, и возвращает идентификатор изображения.

 Match imgurMatch = imgurRegex.Match(URL);
 if(imgurMatch.Success)
    id = imgurMatch.Groups[0].Value 

Вот несколько примеров:

http://imgur.com/gallery/qtPdb (ID = qtPdb)

http://i.imgur.com/RcVIa.jpg (ID = RcVIa)

(может быть .jpg, .png, .gif)

http://imgur.com/3ZZuG (ID = 3ZZuG)

Я думаю, что регулярное выражение, которое может обрабатывать вышеизложенное и возвращать правильный идентификатор, будет достаточно для меня, так как даже если проверка по какой-либо причине не удастся, я смогу обработать его по-другому.

Пожалуйста, дайте мне знать, если потребуется дополнительная информация.

Спасибо!

Tribe84

1 Ответ

6 голосов
/ 16 августа 2011
Regex imgurRegex=new Regex(@"http://(?:i\.imgur\.com/(?<id>.*?)\.(?:jpg|png|gif)|imgur\.com/(?:gallery/)?(?<id>.*))$");
Match imgurMatch = imgurRegex.Match(URL);
if(imgurMatch.Success)
   id = imgurMatch.Groups["id"].Value  
...