Ich will in einer Datei eine Struktur erkennen, welche ungefähr folgende Struktur hat.
<script methodname="xyz">
<author></author>
<contact></contact>
<description>fdfdsf</description>
<targetdevice>none</targetdevice>
<comments></comments>
</script>
Kann ich zeilenübergreifend mit dem re modul mir den ganzen Teil als match ausspucken lassen.
Ich habe einiges versucht, aber bin nicht sehr weit gekommen. Hat einer eine Idee.
Mathias
über mehrere Zeilen hinweg matchen
Jupp, ich glaube mit XML kännte das gehen (denke ich mal). Oder du schreibst dir einen eigenen Parser.
Im Prinzip ist das sogar noch recht Simpel die Struktur. Hab das schon für eigene Scriptsprachen eine Parser geschrieben das um einiges komplexer war. Also soll heißen: wenn du mir die genaue Struktur nennt und worin das ganze gespeichert werden soll bastele ich mall was zusammen.
Aber schau mal erstmal ob das mit nen XML-Parser geht. Ich glaube für Python gibt es da was für XML…
lg
EDIT: wo sollen die geparsten Daten nachher landen? SQLite Datenbank?
Im Prinzip ist das sogar noch recht Simpel die Struktur. Hab das schon für eigene Scriptsprachen eine Parser geschrieben das um einiges komplexer war. Also soll heißen: wenn du mir die genaue Struktur nennt und worin das ganze gespeichert werden soll bastele ich mall was zusammen.
Aber schau mal erstmal ob das mit nen XML-Parser geht. Ich glaube für Python gibt es da was für XML…
lg
EDIT: wo sollen die geparsten Daten nachher landen? SQLite Datenbank?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Was meinst du mit Struktur erkennen? Die Werte auslesen? Das geht mit einem SAX-Parser, einem DOM-Parser, BeautifulSoap, ElementTree viel einfacher als mit einem Regulären Ausdruck.movies1978 hat geschrieben:Ich will in einer Datei eine Struktur erkennen, welche ungefähr folgende Struktur hat.
Geht doch, angenommen dein Code ist im String s enthalten:movies1978 hat geschrieben:Kann ich zeilenübergreifend mit dem re modul mir den ganzen Teil als match ausspucken lassen.
Code: Alles auswählen
re.findall(r'<script.*</script>', s, re.DOTALL)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice