[Dresden-pm] Re: regexps und ersetzen...

Steffen Schwigon schwigon at webit.de
Fre Jan 14 04:31:31 PST 2005


Hi!

Ganz fix aus der Hüfte geschossen, ohne lange Recherche.


Kristian Rink <afterimage at gmx.net> writes:
>         $string =~ s/(\n+)/\<\/p\>\<p\>/g;                 (1)
>         
>         # links...
>         #
>         $string =~ s/\|(.+)$1\:(.+)$2\:(.+)$3\|/\<a        (2)
> href\=\"\?$2=$3\"\>$1\<\/a\>/g;

Heißes Eisen. Willst Du tatsächlich im zweiten Regex (2) im Suchteil
die gefundenen Ergebnisse des ersten Regex (1) verwenden?

Das zumindest tut es nach meinem Verständnis. 

In (2) kommen die Variablen ($1, $2, $3) in zwei verschiedenen
Bedeutungen vor. Im hinteren Teil als Backreferences auf den vorderen
Teil. Und im vorderen Teil als Referenzen auf den letzten Match davor,
hier also (1).

Als einzelne Ausdrücke wären sie im vorderen Teil von (2) leer,
deswegen funktioniert er da vielleicht.

GreetinX
Steffen 
-- 
Steffen Schwigon <schwigon at webit.de>
Dresden Perl Mongers <http://dresden-pm.org/>