Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Монфрид
1212 / 1022 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
1

Regex. Спарсить ссылку

08.09.2013, 19:52. Просмотров 416. Ответов 1
Метки нет (Все метки)

Имеется допустим htmlина, в которой есть такой клочок:
HTML5
1
<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>
Вот я хочу достать все ссылки класса 'i1', и текст, который эти ссылки характеризует.
Пишу такой код:
C#
1
2
3
string pattern = @"class=""i1"" href=""([^""]*)"">([А-я\s]*)";
            Regex reg = new Regex(pattern);
            MatchCollection collection = reg.Matches(categoriesHtml);
Получаю эти ссылки, но почему то в св-ве Groups какого-нибудь отдельного экземпляра из collection нет текста для ссылки (Напитки, Каши..). А мне он нужен, как исправить мне регексину мою, чтобы использую Match.Goups[] я мог получить и ссыль и текст?
Спасибо

Добавлено через 49 минут
разобрался с проблемой, надо было такой регекс вместо моего:
XML
1
@"class=""i1"" href=""([^""]*)"">([^<]*)"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2013, 19:52
Ответы с готовыми решениями:

Спарсить количество страниц на форуме
пишу парсер на данный момент он должен спарсить кол-во страниц на форуме но...

Как спарсить видео с сайта?
Есть HTML страница с видео, как достать от-туда ссылку на видео из элемента...

Спарсить ссылки из поиска Google
Всем привет, пытаюсь спарсить из Google поиска ссылки. Написал регулярку &lt;h3...

Как правильно спарсить xml
В общем есть Xml &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;Dictionary&gt; ...

Как и чем спарсить данные
Парсю страницы. Как и главное чем будет спарсить страницы.Можно ли использовать...

1
Psilon
Master of Orion
Эксперт .NET
6012 / 4865 / 902
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
08.09.2013, 19:55 2
Монфрид, да вроде все работает (на этом куске данных, что ты привел).
Я привел бы разве что к такому виду:
C#
1
string pattern = @"class=""i1"" href=""([^""]*)"">([^<]+)";
но на этом примере разницы нету

Добавлено через 1 минуту
Опоздал...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2013, 19:55

regex
Здраствуйте ув. Гуру! Помогите построить регулярное выражение. Мне из текста...

Regex
Есть две строки (которые повторяются 10 000 раз) но дело не в том //string...

RegEx
Помогите пожалуйста составить регулярное выражение. В общем есть html код в нем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru