@The_Immortal

Почему не срабатывает регулярное выражение с тегом?

Пытаюсь выдрать текст, используя рег. выражение, под тегом <nobr>, который находится внутри определенной таблицы:
soup = BeautifulSoup(resArrow, 'lxml')
tbl = soup.find('tbl', id='maintbl')

for nobr in tbl.find_all('nobr', text=re.compile("MB")):
	# ничего не находится

Пример вывода содержимого одно из нужных тегов <nobr>:
<nobr>1895.35 MB<br/><a href="down.php?id=555"><b>2,55 tlm</b></a></nobr>

print (nobr.getText()) выдает
1895.35 MB2,55 tlm


В общем, ключевое "MB" есть, но почему-то в моей регулярке оно не подхватывается. Я уже пробовал и так:
for nobr in tbl.find_all('nobr', text=re.compile(".*MB.*")):

Да и просто указалывал точную строку
for nobr in tbl.find_all('nobr', text="1895.35 MB2,55 tlm"):

for nobr in tbl.find_all('nobr', text="1895.35 MB"):
, но также ничего не находилось.

В чем может быть проблема?

Спасибо!

P.S. Понимаю, что вместо регулярки можно принимать все теги <nobr> подряд и уже далее выполнять сравнение :
for nobr in tbl.find_all('nobr'):
    if "MB" in nobr.getText(): # так работает
, однако очень хочется разобраться что не так с регуляркой.
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
Viktor_T2
@Viktor_T2
python developer
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы