Regex. Спарсить ссылку - C#
Формулировка задачи:
Имеется допустим htmlина, в которой есть такой клочок:
Вот я хочу достать все ссылки класса 'i1', и текст, который эти ссылки характеризует.
Пишу такой код:
Получаю эти ссылки, но почему то в св-ве Groups какого-нибудь отдельного экземпляра из collection нет текста для ссылки (Напитки, Каши..). А мне он нужен, как исправить мне регексину мою, чтобы использую Match.Goups[] я мог получить и ссыль и текст?
Спасибо
<div class="sepD"></div><a class="i1" href="/recipes/cocktails/">Коктейли</a><a class="i1" href="/recipes/drinks/">Напитки</a><a class="i1" href="/recipes/pancakes/">Блины и оладьи</a><a class="i1" href="/recipes/pies/">Пироги и пирожки</a><a class="i1" href="/recipes/pizza/">Пицца</a><a class="i1" href="/recipes/porridge/">Каши</a><a class="i1" href="/recipes/jams/">Варенье и джемы</a><a class="i1" href="/recipes/cakes/">Торты и пирожные</a><a class="i1" href="/recipes/candy/">Конфеты и сладости</a><a class="i1" href="/recipes/baking/">Выпечка</a><a class="i1" href="/recipes/desserts/">Десерты</a><a class="i1" href="/recipes/garnish/">Гарниры</a><a class="i1" href="/recipes/pickles/">Заготовки и соленья</a><a class="i1" href="/recipes/sauces/">Соусы</a><a class="i1" href="/recipes/sandwiches/">Бутерброды</a><a class="i1" href="/recipes/appetizers/">Закуски</a><a class="i1" href="/recipes/salads/">Салаты</a>
string pattern = @"class=""i1"" href=""([^""]*)"">([А-я\s]*)"; Regex reg = new Regex(pattern); MatchCollection collection = reg.Matches(categoriesHtml);
разобрался с проблемой, надо было такой регекс вместо моего:
@"class=""i1"" href=""([^""]*)"">([^<]*)"
Решение задачи: «Regex. Спарсить ссылку»
textual
Листинг программы
string pattern = @"class=""i1"" href=""([^""]*)"">([^<]+)";
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д