Thread Rekursion mit regulärem Ausdruck
(5 answers)
Opened by Gast at 2009-02-04 10:36
Hi nochmal,
ich glaube das Problem gelöst zu haben und möchte euch meinen Ansatz mitteilen (falls es jmdn interessiert oder jmd mal ein ähnliches problem hat) Ich lasse im String nach möglichst vielen Zeichen suchen, bis die letzte schließende Klammer kommt. Jetzt der Kniff: ich füge meinem String am Anfang noch eine öffnende Klammer bei Code: (dl
)
my $input = "(".$1; mit Hilfe von "extract_bracketed" von Balanced.pm (VIELEN DANK RENEE!!) schaffe ich es dann, das beginnend von der manuell hinzugefügten öffnenden Klammer alles ausgeschnitten wird, bis zu der Klammer, die ohne die manuell hinzugefügte Klammer die erste schließende Klammer wäre, die nie geöffnet wurde (voll verwirrend, aber klar? *g*) Da mich nur der Ausdruck bis zur ersten schließenden Klammer interessiert, entferne ich jetzt die letzte Klammer, ebenso wie die manuell hinzugefügte Code (perl): (dl
)
$input =~ s/\((.*)\)/$1/x; und habe somit was ich wollte. Keine Ahnung ob das besonders elegant oder "perlig" ist, aber es funktioniert. Falls ihr Verbesserungsvorschläge habt oder meint man könnte es anders eleganter machen, können wir von mir aus noch gerne weiterdiskutieren/-philosophieren, aber mein Problem ist erstmal gelöst. nochmals danke Renee, ohne den Hinweis hätt ichs nicht geschafft gruß jaf |