[Python-de] AW: [Python-de] Reguläre Ausdrücke
Fischer, Thomas
ThomasFischer at schmuecker.de
Mon Mar 4 16:36:51 EST 2002
Hallo!
Nach dem ausgezeichneten Tip von Christopher Arndt
möchte ich die Auflösung meines Problems in Quellcode
schildern. Vielleicht interessiert es auch noch andere:
#doc=open("D:/Wordimport/test.txt").read()
oder:
doc="""Alle Vögel sind
schon da!"""
expr=re.compile(".*",re.DOTALL)
f=expr.findall(doc)
print f
... findet jetzt Zeilenübergreifend das Muster!
Ein Problem gibt es aber noch:
Umlaute werden dabei offenbar als Unicode dargestellt.
Hier lautet das Ergebnis:
'Alle V\xf6gel sind\nschon da!'
Thomas
-----Ursprüngliche Nachricht-----
Von: Christopher Arndt [mailto:chris.arndt at web.de]
Gesendet: Montag, 4. März 2002 13:34
An: python-de at starship.python.net
Betreff: Re: [Python-de] Reguläre Ausdrücke
1. Die Datei muss in einen einzigen String eingelesen sein, d.h.
t = file.read()
und _nicht__:
Falsch: t = file.readlines()
2. Der reguläre Ausdruck muss durch die Option re.DOTALL für
re.compile() oder durch '(?s)' im regulären Ausdruck dazu gebracht
werden, auch das newline Zeichen für '.' zuzulassen.
Ebenfalls ist evtl. die re.MULTILINE Option interessant.
Referenzen:
http://py-howto.sourceforge.net/regex/regex.html <-- unbedingt lesen!
http://www.python.org/doc/current/lib/module-re.html
Fischer, Thomas wrote:
> Hallo!
> Ich möchte über re.findall("Muster",file) Text in einem Dokument suchen,
> welcher über
> mehrere Zeilen gehen kann.
> In der Literatur zu "regulären Ausdrücken" wird für die Suche über
> mehrere Zeilen das Muster [] angegebnen.
> Also :*** H[]d* über zwei Zeilen hinweg "*Hello* (cr -lf)* World*".
> Wenn ich das mit re.findall probiere gibt es eine dicke Fehlermeldung!
> Gibt es dieses Muster nicht in Python?
> Wie kann ich dann über mehrere Zeilen suchen?
>
>
> Thomas
>
_______________________________________________
Python-de maillist - Python-de at starship.python.net
http://starship.python.net/mailman/listinfo/python-de
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://starship.python.net/pipermail/python-de/attachments/20020304/12aaa989/attachment.htm
More information about the Python-de
mailing list