Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Regex или как выглядит паттерн в моем случае? 
:(
    Опции темы
W1zArD
Дата 2.6.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 29.1.2006

Репутация: 1
Всего: 3



Добрый день.

Необходимо распарсить текст примерно следующего содержания:

<td>Info1</td><td>2009-03-16</td></tr>....
<td>Info2</td><td>2009-10-06</td></tr>....

В данном случае насколько я понимаю в паттерне должна присутсвовать группа, куда будет складываться содержимое между <td>...</td><td>, а может быть и не обязательно...

Собственно как реализовать все это используя Regex?

Благодарю за внимание.
PM   Вверх
jonie
Дата 2.6.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Код

<td>(.*?)</td><td
такой регэксп. Про Regex читать в MSDN примеры.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
W1zArD
Дата 3.6.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 29.1.2006

Репутация: 1
Всего: 3



jonie, за паттерн спасибо.

Код

var reg = new Regex("<td>(.*?)</td><td>", RegexOptions.IgnoreCase);
        if (reg.IsMatch(PageSrc))
        {
            var mc = reg.Matches(PageSrc);
            foreach (Match match in mc)
            {
                Console.WriteLine(match.Value);
            }
        }


результат:
<td>Info1</td><td>
<td>Info2</td><td>

как избавиться от лишнего? smile

Спасибо...
PM   Вверх
jonie
Дата 4.6.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Код
            Regex reg = new Regex("<td>(.*?)</td><td>", RegexOptions.IgnoreCase);
            if (reg.IsMatch(s))
            {
                MatchCollection mc = reg.Matches(s);
                foreach (Match match in mc)
                {
                    GroupCollection groups = match.Groups;
                    foreach (Group g in groups)
                    {
                        Console.WriteLine(g.Value);
                    }
                }
            }

думаю сам поймешь какую группу тебе нужно брать 8)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.