Hallo,ich habe folgendes Problem. Ich muss aus verschiedenen Dokumenten (nicht unbedingt xml oder html, es sind andere nicht xml-verwandte Dokumente) bestimmte Bereiche die sich wiederholen können parsen. Irgendwie komme ich mit meinen regulären Ausdruck nicht zu Potte.
Folgende Bereich sind in den Dokumenten vorhanden:
<TEXT:NAME LOOP>texttexteext</TEXT:NAME LOOP>
NAME steht anscheinend fuer ein Freiwort. Ich habe nun mal folgendes Probiert:
$tmp =~ s/<TEXT:.+?) LOOP>(.+)<\/TEXT:\1 LOOP>/($self->_getLoop($1, $2))/gse;
Mit diesem Ausdruck erhalte ich auch alle Blöcke, allerdings immer nur wenn diese als NAME ein anderes Wort haben. Das Problem nun: Es können mehrmals die gleichen Bereich vorkommen und genau da funktioniert mein Ausdruck nicht mehr. Mein Ausdruck parst dann vom ersten <TEXT:NAME LOOP> bis zum letzten </TEXT:NAME LOOP> wenn es mehrmals die gleichen Blöcke mit NAME gibt.
Kennt jemand eine Abhilfe? Ich komme einfach nicht mehr weiter; seit 8 Stunden bin ich am lesen und am probieren; aber ich sehe den Wald vor Bäumen wahrscheinlich nicht mehr?
Danke wenn mir jemand auf die Sprünge helfen könnte. Auch hoffe ich konnte mein Problem bestmöglich beschreiben?
perlbert
Datum: 24.05.2005-00:41
