Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 3, 2011 10:57:07

Panter7777
От:
Зарегистрирован: 2011-02-16
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярные выражения- все внутри тега

Добрый день.
Помогите разобраться, мне нужно вытащить все между тегами <code>…</code>
Делаю так:

content = re.findall(r'<code> (.*?) </code>', _file)
но в ответ вижу



Офлайн

#2 Июнь 3, 2011 11:00:17

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярные выражения- все внутри тега

Не видя содержимого “_file”, точно сказать сложно. )
Но может дело в пробелах?

>>> data = '<code>12345</code>'
>>> re.findall(r'<code> (.*?) </code>', data)
4: []
>>> re.findall(r'<code>(.*?)</code>', data)
5: ['12345']



Отредактировано (Июнь 3, 2011 11:01:02)

Офлайн

#3 Июнь 3, 2011 12:11:54

Panter7777
От:
Зарегистрирован: 2011-02-16
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярные выражения- все внутри тега

Я наверное не правильно обьяснил, вообщем есть страница

<!-- BEGIN pager -->
<code>

<form method="GET" action="">
<table class="records" cellspacing="0" cellpadding="4" border="1" width="100%">
<tr>
<td colspan="7">
<p>Записей на странице: <input name="page_size" size=5> <input type="submit" name="changepagesize" value=" >> "></p></form>
</td>
</tr>
<tr><td colspan="7">&nbsp;</td></tr>

<tr bgcolor="#e0e0e0" align="center" valign="middle">
<th>ID наряда:</th>
<th>Дата создания:</th>
<th>Адрес:</th>
<th>Тип:</th>
<th>Склад:</th>

<th>Создатель:</th>
<th>Подробно:</th>
</tr>

<tr bgcolor="#f0f0f0" align="left">
<td>2097033770</td>
<td><nobr>30.05.11 09:02</nobr></td>
<td><nobr>вул. Маршала Малиновського, 25г, 1 под.</nobr></td>

<td>close</td>
<td><span style='color:red;'>Сдан</span></td>
<td>Вознюк Вячеслав</td>
<td><a href="../problems/view/2097033770" onclick="window.open('../problems/view/2097033770', '_new', 'resizeble=1, scrollbars=1, width=550, height=700, toolbars=0'); return false"><img src="../../img/detail.gif" border="0" title="Подробно"/></a></td>
</tr>

......................................

</table>
</code>
<!-- END pager -->
я ее открываю:
 
filename = dirname(page.path)+"/problems_naryad.any"
_file = open(filename, 'r').read()

content = re.findall(r'<code>(.*?)</code>', _file)

print content
Мне нужнем код(вся таблица) что внутри тега <code>…</code>



Офлайн

#4 Июнь 3, 2011 12:54:14

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярные выражения- все внутри тега

re.findall(r'<code>(.*?)</code>', data, re.DOTALL)
По умолчанию “.” - ловит совпадения только до конца строки…



Офлайн

#5 Июнь 3, 2011 13:37:45

Panter7777
От:
Зарегистрирован: 2011-02-16
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярные выражения- все внутри тега

Получилось спасибо большое.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version