2 Stimmen

Aufteilung Regulärer Ausdruck nach jeder Wiederholung

Ich experimentiere in letzter Zeit mit Template-Engines herum und bin in einem sehr frühen Stadium bei einem regulären Ausdruck hängen geblieben.

Der erste Schritt in meiner Template-Engine sollte sein, alle Template-Konstrukte zu extrahieren. Also habe ich folgenden regulären Ausdruck geschrieben:

# Split all relevant parts apart to merger them later on.
exp_tags = re.compile(r'({[%|{](.*)[}|%]})')
print exp_tags.split(body)

was gut funktioniert, bis 2 Vorlagenkonstrukte in einer Zeile stehen. Der Ausdruck führt sie dann zusammen und teilt sie nicht einzeln auf.

Exemple :

<section>
{{title}}{{text}}
</section>

Sollte dazu führen:

{'<section>', '{{title}}', 'title', '{{text}}', 'text', '</section>'}

Aber Ergebnisse in:

{'<section>', '{{title}}{{text}}', 'title}}{{text', '</section>'}

Weiß jemand, wie ich meine Ziele mit regulären Ausdrücken erreichen kann?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X