Мне нужна помощь с регулярным выражением в python, и Google подводит меня. По сути, я ищу какой-то html и есть определенный тип таблицы, которую я ищу, особенно любая таблица, которая включает в себя фоновый тег (то есть BGCOLOR). Некоторые таблицы имеют этот тег, а некоторые нет. Может ли кто-нибудь помочь мне с тем, как написать регулярное выражение, которое ищет начало таблицы, затем ищет BGCOLOR, но если оно достигает конца таблицы, то оно останавливается и движется дальше?
Вот очень упрощенный пример, который будет служить цели сервера:
`<TABLE>
<B>Item 1.</B>
</TABLE>
<TABLE>
BGCOLOR
</TABLE>
<TABLE>
<B>Item 2.</B>
</TABLE>`
Итак, у нас есть три таблицы, но я заинтересован только в поиске средней таблицы, содержащей BGCOLOR
На данный момент проблема с моим регулярным выражением состоит в том, что он ищет начальный тег таблицы, затем ищет «BGCOLOR» и ему все равно, передает ли он конечный тег таблицы:
tables = re.findall('\<table.*?BGCOLOR=".*?".*?\<\/table\>', text, re.I|re.S)
Таким образом, он найдет первые две таблицы, а не только вторую таблицу. Дайте мне знать, если кто-нибудь знает, как справиться с этой ситуацией.
Спасибо,
Michael