Bitte kurze Hilfe bei RegExp

Hallo Leute

Ich steh gerade auf dem Schlauch und kann ein recht simples Problem nicht lösen:

Ich habe einen String in dem ein bestimmtes Muster mehrfach vorkommt. Nun will ich in einer Schleife alle diese Textstellen finden und auswerten. Nur fällt mir partout nicht ein, wie das geht.

Beispiel:

$html = "[a](a.html)[b](b.html)[c](c.html)" ;

$html =~ /[/ ;$link = $1 ;]((.+?))

für den ersten Link klappt das ja ganz gut - nur ich hätte jetzt gerne eine Schleife, in der ich alle Treffer abarbeiten kann. Wenn jemand bitte kurz Zeit hat und mir den relevanten Codeschnipsel posten könnte, wäre ich sehr dankbar.

lg
Erwin

Hallo,

für den ersten Link klappt das ja ganz gut - nur ich hätte
jetzt gerne eine Schleife, in der ich alle Treffer abarbeiten
kann. Wenn jemand bitte kurz Zeit hat und mir den relevanten
Codeschnipsel posten könnte, wäre ich sehr dankbar.

my $tmp = $html;
while ($tmp =~ s#[##){ print $1, "\n";}]((.+?))

HTH,
Moritz

Hallo Erwin,

für den ersten Link klappt das ja ganz gut - nur ich hätte
jetzt gerne eine Schleife, in der ich alle Treffer abarbeiten
kann. Wenn jemand bitte kurz Zeit hat und mir den relevanten
Codeschnipsel posten könnte, wäre ich sehr dankbar.

Da brauchst Du keine Schleife, siehe:

 my $html = q'[a](a.html)[b](b.html)[c](c.html)';
 my @links = $html =~ /a\s+href="(.+?)"/ig;

Später geht dann z.B.:

 print join "\n", @links;

Grüße

CMБ

herzlichen Dank euch beiden
Hi

wusst ich doch, dass es ganz einfach geht. danke euch beiden für die mühe bei einem derartigen primitivproblem. das gibt je ein sternchen…

lg
erwin