Reguläre Ausdrücke über mehrere Zeilen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nappio

Dienstag 10. August 2004, 14:38

Hallo,

aus einer HTML-Datei will ich folgendes auslesen:
.
.
.
<td valign="bottom">&nbsp;</td>
<td>DIESEN TEXT WILL ICH</td>

<td valign="bottom">&nbsp;</td>
<td>DIESEN TEXT WILL ICH</td>

<td valign="bottom">&nbsp;</td>
<td>DIESEN TEXT WILL ICH</td>
.
.
Aber
pat=re.compile(r"<td valign="bottom">&nbsp;</td><td>(.*?)</td>",re.I)

findet es nicht. Kann mir jemand helfen?

Danke!
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Dienstag 10. August 2004, 15:01

Hi!
Nappio hat geschrieben: findet es nicht
Kann es auch nicht, weil ein \n zwischen </tb> und <tb> steht.
Reicht in diesem Fall nicht:

Code: Alles auswählen

import re

f = file("datei.html","r")

pat = re.compile(r'<td>([\w\s]+?)</td>')
for line in f.readlines():
	m = pat.match(line)
	if m:
		print m.groups()

Gruß, mawe
Antworten