![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| i2m |
|
||||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 4.5.2010 Репутация: нет Всего: 1 |
Здравствуйте, уже спрашивал этот вопрос на другом форуме но так и не дождался ответа... В общем есть 2 таблицы
Для них нужно составить универсальное регулярное выражение, т.е что бы подходило и под первую таблицу и под вторую, я составил вот такую регулярку:
Потом я эти данные заношу в listview:
Но меня не устраивает что я должен делать проверки типа if (Groups[1].Value != ""). Вопрос, можно ли сделать это на уровне регулярного выражения, т.е что бы он уже возвращал нужное значение и тогда добавление в listview было бы таким:
Результат для первой таблице должен получиться таким
для второй
Уже бьюсь несколько дней ... Это сообщение отредактировал(а) i2m - 4.5.2010, 14:01 |
||||||||||||
|
|||||||||||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Можно http://msdn.microsoft.com/ru-ru/library/36xybswe(VS.90).aspx Только рабирать хтмл регулярками - мазохизм. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| i2m |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 4.5.2010 Репутация: нет Всего: 1 |
Ну вот если взять первую группу то по идеи тогда она должна выглядеть так:
И должен возвращать просто "ADSL8192" а он возвращает "Входящий трафик ADSL8192" почему так? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
i2m, если честно, я вообще не понял чего ты там намудрил. Твою задачу можно решить регулярками, но это гемор...всё-равно получится громоздко и сложно. И самая главная проблема, которая при этом возникает: если структура страницы немного изменится( а это, насколько я понимаю, не от тебя зависит) - твоя программа либо упадёт, либо тебе придётся предоставить пользователю чудную возможность самому переписать регулярку
Твой пример посмотрел, тебе видимо лучше использовать не условия, а "положительное утверждение просмотра назад нулевой ширины" (?<=часть выражения). Внутри этой конструкции как раз описываешь заголовок, а следом, то, что надо получить. Как-то так
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| i2m |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 4.5.2010 Репутация: нет Всего: 1 |
diadiavova, Попробовал твой вариант не работает, а если не регулярками то чем?
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Я же написал "не для копипасты", то есть это и не было готовое решение, а просто идея как сделать. sgmlreader распарсит веб-страницу в xml-документ, а потом делай с ним что хош: хоть через DOM данные извлекай, хоть через XPath, но лучше всего - через XSLT, можно в случае чего и пользователю предоставить написание преобразования и даже несложный конструктор соорудить. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| i2m |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 4.5.2010 Репутация: нет Всего: 1 |
diadiavova, На счет регулярки, оказывается можно было просто вот так сделать.
И все как нужно работает. А на счет xml буду копать в эту сторону, спасибо. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |