Seite 1 von 1

Reguläre Ausdrücke: Randbereiche weglassen

Verfasst: Samstag 6. Oktober 2007, 12:25
von Jan-Peer
Ich habe eine XML-Datei, aus der ich einen Teilstring per re extrahieren möchte. Der Teilstring wird durch zwei bekannte, wenngleich nicht zusammengehörende tags begrenzt. Den String mit den Tags herauszuholen ist kein Problem. Aber eigentlich will ich die Tags selbst gar nicht haben.
Mein Ansatz ist im Augenblick, den erhaltenen String einfach nachzubearbeiten und die entsprechende Anzahl Zeichen vorne und hinten abzuschneiden.

Gibt es eine Möglichkeit, re diese Arbeit machen zu lassen?

Verfasst: Samstag 6. Oktober 2007, 13:13
von EyDu
Mit runden Klammern kannst du Gruppen erstellen. Hier mal ein kurzes Beispiel:

Code: Alles auswählen

>>> import re
>>> TEXT = "abcLEFTdataRIGHTxyz"
>>> PATTERN = "LEFT([a-z]*)RIGHT"
>>> res = re.search(PATTERN, TEXT)
>>> res.group(0)
'LEFTdataRIGHT'
>>> res.group(1)
'data'
>>> 

Verfasst: Samstag 6. Oktober 2007, 13:33
von Jan-Peer
Besten Dank.