hi!
texttext <suchtext> textexttext <suchtext> texttext\n
texttexttext <suchtext> <suchtext>texttexttext\n
usw.
Mein Problem ist, dass ich alle gesuchten Texte in einem Array
bräuchte, was vom Regex bei einzelnen suchtexten her kein Problem
ist.
Dazu musst du in jeder Zeile den regulären Ausdruck mehrfach anwenden,
damit du alle Ergebnisse findest. Dazu dient der Modifier "g", den du
als Option bei regulären Ausdrücke angeben kannst. Beispiel:
$text = "bla (treffer 1) laber (treffer 2) blub (treffer 3) und so weiter...";
push @results, $& while $text =~ /(.*?)/g;
print "$_\n" for @results;
Der Text in $text enthält drei Treffer in Klammern, die ich finden
möchte. Dafür verwende ich den regulären Ausdruck /(.*?)/. Das "g"
ist wie erwähnt dafür zuständig, jeden Treffer zu finden, nicht nur
den ersten. Das ganze verpacke ich dann in eine while-Schleife, wobei
ich in jedem Schleifendurchlauf den gefundenen Ausdruck in das Array
@results einfüge. Die letzte Zeile gibt dann den Inhalt dieses Arrays
aus.
bye, Frank!