![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Competitor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 23.3.2005 Где: Tula Репутация: -1 Всего: -1 |
Помогите разобраться с регулярными выражениями. каким образом с их помощью можно выделить из нижеприведенного HTML-кода нужный текст.
<ol> ...other text <li> <a href=\" ** Нужный текст \" </a> <li> <a href=\" ** Нужный текст \" </a> ................ </ol> Прошу пример |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Рад бы помочь, но похоже моих познаний недостаточно. Почему-то при бОльшем чем 1 количестве строк, подходящих под регэксп, всегда возвращается самая последняя. Вот пример:
Как ни извращайся, всегда возвращается "Нужный текст 222"... -------------------- ![]() |
|||
|
||||
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 3 Всего: 16 |
См. ниже
Это сообщение отредактировал(а) Softaz - 7.11.2006, 22:47 -------------------- Разочарованный в .NET |
|||
|
||||
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 3 Всего: 16 |
Вроде получилось
-------------------- Разочарованный в .NET |
|||
|
||||
| Competitor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 23.3.2005 Где: Tula Репутация: -1 Всего: -1 |
А как сделать так, чтобы в тексте:
string html = @" абракадабра <ol ...other text <li> <a href="" ** Нужный текст 111 "" </a> <li> <a href="" ** Нужный текст 222 "" </a> ................ </ol> "; регулярное выражение сначало откидывало бы все что находится до <ol, а уже потом все делала точно так же как в выше приведенных примерах? Я попробывал так:
Ведь () - означают группировку, но поиск принес только один первый правильный результат. Т.е. Нужный текст 111. Как сделать так, чтобы <ol воспринимался как первый ограничительный символ для последующей группы результатов, а не как выражение, которое должно обязательно входить в каждый результат поиска. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Competitor, двумя регулярными выражениями.
Сначала откидываешь все лишнее, а потом способ Softaz-а |
|||
|
||||
| Competitor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 23.3.2005 Где: Tula Репутация: -1 Всего: -1 |
Всем спасибо. Разобрался с регулярками
|
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
mr.DUDA, Match возвращает только последнее совпадение. Тут нужно заюзать GetMatches() или Matches или как-то так и что-то в этом роде
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Exception, там грабли не только с этим были (я пробовал Matches), но и с самим паттерном - нужно составить его так, чтобы нужная часть захватывалась более одного раза.
-------------------- ![]() |
|||
|
||||
| Competitor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 23.3.2005 Где: Tula Репутация: -1 Всего: -1 |
А как реализовать логическое или?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |