Thread Perl regex Fehler (19 answers)
Opened by dax42 at 2004-07-09 12:20

dax42
 2004-07-10 11:58
#84088 #84088
User since
2004-06-16
24 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin ein wenig verzweifelt. Eure Lösungen waren ja super schön, bis mir ein "Fehler" aufgefallen ist, an den ich selbst nicht gedacht hatte:
Ich will nur die Links matchen, die in den Zeilen stehen, die mit BS anfangen. Die Zeile nach der letzten solchen Zeile beginnt mit XX.

Das ist notwendig, da auch in anderen Zeilen Links stehen, die [RT][0-9]+ matchen, die aber für mich von keiner Relevanz sind (und zu falschen Ergebnissen führen.)

Nun habe ich das folgende versucht:
Code: (dl )
1
2
3
4
my @data = $c =~ /<A[^>]+>BS<\/A>(?:.*<A[^>]+>([RT][0-9]+)<\/A>.*)+XX/sg;
for(my $i = 0; $i<=$#data; $i++){
print "$data[$i] \n";
}


Allerdings erhalte ich damit nicht alle matches, sondern immer nur den letzten. Warum? Wie kann ich alle dazwischen liegenden ausgeben lassen?

Danke vielmals!

View full thread Perl regex Fehler