Seite 1 von 1

Teilstring zw. zwei Tags auslesen

Verfasst: Mittwoch 22. Juni 2005, 15:44
von crafty
Hallo Leute,

ich hoffe ich werde jetzt nicht direkt gesteinigt, aber ich habe da ein Problem einen String zwischen zwei Tags auszulesen.
Also folgendes: ich lese den Inhalt einer *.asp Datei aus und schaufel das alles in eine String-Variable, da ich damit hinterher noch ein paar andere Dinge tun muss.
Nun kommen in diesem Text Zeilen vor die ungefähr so aussehen können:

Code: Alles auswählen

<keyword ref="./framework/.../.../xy.html">Ich bin ein Index</keyword>
Das was ich jetzt möchte ist alles zwischen

Code: Alles auswählen

<keyword ref="./framework/.../.../xy.html">
und

Code: Alles auswählen

</keyword>
auszulesen. Diese Zeilen kommen x-fach vor und die Pfadangabe im ersten Tag kann beliebig lang sein.
Ich tue mich sehr schwer mit den RegularExpressions und bekomm den Kram einfach nicht ausgelesen.
Also bitte nicht steinigen oder teeren und federn! Aber nen Ansatz wie ich das mache wäre klasse!
Vielen Dank!

crafty :wink:

Verfasst: Mittwoch 22. Juni 2005, 16:55
von Leonidas
Das wäre ein Ansatz:

Code: Alles auswählen

import re
s = """'<keyword ref="./framework/.../.../xy.html">Ich bin ein Index</keyword>'"""
r = re.compile(r'(?<=">).*(?=</keyword>)')
r.findall(s)
Warum will eingentlich das positive Lookbehind nicht sowas wie [\w|\s]* akzeptieren?

Edit: Regex angepasst.

Verfasst: Mittwoch 22. Juni 2005, 22:14
von jens
Vielleich ein wenig zuviel des guten:
http://www.crummy.com/software/Beautifu ... ation.html

(Ich hab's mal in die FAQ aufgenommen)

Verfasst: Mittwoch 22. Juni 2005, 22:41
von BlackJack
Leonidas hat geschrieben:Warum will eingentlich das positive Lookbehind nicht sowas wie [\w|\s]* akzeptieren?
Bist Du sicher, dass Du auch beliebig viele | haben möchtest? :wink:

Verfasst: Donnerstag 23. Juni 2005, 12:49
von Leonidas
BlackJack hat geschrieben:Bist Du sicher, dass Du auch beliebig viele | haben möchtest? :wink:
Nun, eigentlich nicht, aber ich glaube sowieso nicht dass dort normalerweise irgendwelche | vorkommen :D
jens hat geschrieben:Vielleich ein wenig zuviel des guten:
http://www.crummy.com/software/Beautifu ... ation.html
Hat halt den Nachteil, dass du es mitliefern musst, aber die Regex diese Aufgabe auch schafft. Außer natürlich du willst es wirklich fürs komplette parsen nutzen, dann ist es sicher wunderbar und sehr praktisch.

Verfasst: Donnerstag 23. Juni 2005, 13:02
von crafty
Vielen Dank für eure Hilfe! Vor allem an Dich Leonidas!
Hat super geklappt und ich kann endlich weiter machen!
Danke

crafty :wink: