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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражения. Содержание тега <table>, Вырезать все содержание одного тега 
V
    Опции темы
zetpilot
Дата 13.2.2006, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть к примеру такой html файл
Код

<html>
<head>
<title>Bla....Bla....Bla....Bla....Bla....</title>
</head>
<body>
<table name="tab1">
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
</table>
<table name="tab2">
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
</table>
<table name="tab3">
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
</table>
<table name="tab4">
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
</table>
</body>
</html>


Необходимо вырезать содержание одного тега <table></table> причем надо вырезать содержимое той таблицы имя которой указано в регулярном выражении.

Делаю вот такое
Код

tabs_pat = @"<table name=\W*" + table_name[i];
tabs_pat += @"\W*>(.[\w+\W+]+)</table>";


Мне выводит содержание тега начиная с того имени таблицы которое указано до конца файла
Код

<table name="tab3">
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
</table>
<table name="tab4">
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>
<tr><td>123</td><td>123</td><td>123</td><td>123</td></tr>


По идеи должно работать вот так
Код

tabs_pat = @"<table name=\W*" + table_name[i];
tabs_pat += @"\W*>(.*?)</table>";


Но почему то не работает вапще.

И еще можно ли сразу вырезать все теги <table>, <tr>, <td>, </tr>, </td>, </table>?
PM MAIL   Вверх
mr.DUDA
Дата 13.2.2006, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Вот так работает:

Код
<table\s*name=\W*tab1\W*>.*?</table>


З.Ы. в опциях Match() нужно поставить RegexOptions.SingleLine


--------------------
user posted image
PM MAIL WWW   Вверх
zetpilot
Дата 13.2.2006, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



mr.DUDA, это должно работать если я файл сразу целиком считал или по строчно??
Добавлено @ 09:53
mr.DUDA, А все работает... Спасибки большие smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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