Günter Laudenklos: regexp Problemchen/Frage

Beitrag lesen

Hallo Jörk,

Ich hätte da folgendes Anzubieten:
while($_ =~ /<[^>]+?\s+)(?:alttitle)="(.*?)"[^>]*>/igo) { $stringa .= "$1 " if($1); }

Hauptsächlich sollte wohl die letzte Klammer bei Dir der Übeltäter sein. Der verwendete * ist ja bekanntlich "greedy" - also äußerst gefräßig! So schnappt er sich also erstmal den Gesamten Text und gibt ihn dann Zeichen für Zeichen wieder frei, bis eine Stelle gefunden ist, an der ein > folgt ...

Probier es doch einfach mal aus. Schnellschuß bei Dir wäre dann ein ? einzubauen (?:.*?>>)

erstmal Danke für Deine Antwort, das scheint's aber noch nicht zu sein :(

Dabei bekomme ich die Fehlermeldung
"unmatched () in regexp at test.pl line xxx - ein Prozeß hat versucht, zu einer
nicht bestehenden Pipe zu schreiben."

Werde es trotzdem noch weiter probieren (und nachlesen, nachlesen ....)

Vielen Dank + Grüße  Günter