2013-07-03 2 views
-1

Вот пример.Как написать это регулярное выражение для экспорта ссылок

Начинается с: imgurl= Заканчивается: &amp

экстракции Пример

asfasfasfasimgurl=http://www.mysite.com&ampasgasgas 

Результат: http://www.mysite.com

Так как я могу написать регулярное выражение для извлечения всех экземпляров, как это?

+0

Что вы пробовали? Что делать, если имеется несколько экземпляров 'imgurl =' или '$ amp'? От первого до последнего, от первого до первого, от последнего до первого, от последнего до последнего? Приведите несколько примеров и свою собственную попытку, пожалуйста. –

+0

@ m.buettner благодарит за ответ. вместо того, чтобы думать слишком много шаблона для этого конкретного примера, может работать для меня. Я тоже сейчас пытаюсь. – MonsterMMORPG

ответ

2

Вы можете использовать и LOOKAHEAD просмотра назад

(?<=imgurl=).*?(?=&amp) 

Вы можете получить список URL-адресов с помощью

List<String> urls=Regex.Matches(input,regex) 
         .Cast<Match>() 
         .Select(x=>x.Value) 
         .ToList(); 
+0

спасибо, позвольте мне попробовать – MonsterMMORPG

+0

спасибо большое работающ awesome вы можете пожалуйста объяснить его мне я также хочу научиться правильному регулярному выражению: D – MonsterMMORPG

+2

@MonsterMMORPG тогда [этот учебник] (http://regular-expressions.info/tutorial. html) - это то, что вы хотите прочитать;) –

2

Простое выражение может быть:

(?:imgurl=)(.*)(?:&amp) 

(?: [Материал здесь]) не является захват группы. Это требует соответствия шаблона, но не захвата/выделения. (. *) Захватывает все между двумя группами без захвата.

Кроме того, чтобы узнать больше о группах захвата вы можете прочитать здесь What is a non-capturing group? What does a question mark followed by a colon (?:) mean?