findall match and MULTILINE

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
LittleDeamon
User
Beiträge: 2
Registriert: Sonntag 2. Januar 2005, 15:28

Samstag 5. Februar 2005, 21:48

es geht um folgendes

Code: Alles auswählen

re1= compile('<tr><td class="cTe2">(.+?)</td></tr>')
    iterator=re1.findall(text)
nur leider gib es eine! Stelle im Text, wo diese Pattern nicht funktioniert, weil die <tr> </td> mehere Zeilen auseinander liegen?

Wer hat einen Vorschlag wie das gelöst werden kann.

Beispiel GIB TEXT AUS der zwischen

Code: Alles auswählen

 <div 
................
<\div> 


steht egal ob mit re, String, httplib oder HTML parser..


mfg René
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Samstag 5. Februar 2005, 21:55

Hi René,

Du kannst bei re.compile(...) auch ein Argument flags mitgeben und so Multiline(M) und DotAll(S) einschalten.

Code: Alles auswählen

import re
re1= re.compile('<tr><td class="cTe2">(.+?)</td></tr>', re.M|re.S)

Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Antworten