Martin Sommer: Regex Auswertung

Beitrag lesen

Moin,
wenn der Text zwischen den Suchtexten ähnlich wäre und sich durch einen regulären Ausdruck ersetzen ließe, könntest Du die Funktion split benutzen.
Steht der Suchtext immer in spitzen Klammern, könnte man den Pattern-Matching-Operator anwenden, z. B.
$meintext =~ m/<(.+?)>/;
danach ist $´ der Teil nach dem Suchstring, $` der davor und $& der durch den Matching-Operator gefundene String.

Mein Problem ist, dass ich alle gesuchten Texte in einem Array bräuchte, was vom Regex bei einzelnen suchtexten her kein Problem ist.

push(@array, $&); #sollte eigentlich das tun, was es verspricht

Noch viel Erfolg,
Martin

Hi

Ich habe einen Text in der Form:(suchtext hat nur eine erkennbare Form, keinen gleichen Inhalt)

texttext <suchtext> textexttext <suchtext> texttext\n
texttexttext <suchtext> <suchtext>texttexttext\n
usw.

Mein Problem ist, dass ich den Text zwar finden kann, aber da er mehrmals in einer Zeile vorkommen kann, nicht mit $suche[0] = $1; in das Array bringen kann, da ich dann den später in der Zeile folgenden <suchtext> nicht mehr finden kann, da es führ ihn keinen Bezeichner mehr gibt.

mfg Andres