Reg Exp(2) (fwd)
Honza Pazdziora
adelton na informatics.muni.cz
Středa Únor 7 14:43:29 MET 2001
----- Forwarded message from DADAJ Marián <dadaj na asset.sk> -----
> From: DADAJ Marián <dadaj na asset.sk>
> Subject: Reg Exp(2)
> Date: Wed, 7 Feb 2001 14:00:07 +0100
> To: "'adelton na informatics.muni.cz'" <adelton na informatics.muni.cz>
> X-Mailer: Internet Mail Service (5.5.2650.21)
>
> Ospravedlnujem sa.
> chcel som len nacrtnut problem ktory nespociva v datach.
> spociva vlastne v tom, ako ho donutit, aby hodnotu premennej
> pre priklad $cim="\1\2\3" neakceptoval pri prikaze
>
> s/EXP/$cim/ ako
> s/EXP/\\1\\2\\3/ ale aby sa hodnota premennej $cim
> reprezentovala ako skutocna hodnota \1\2\3, ktoru chcem dosiahnut.
>
> Ide mi o to, aby som vyraz \1\2\3 mohol zadavat cez premennu
> s/EXP/\1\2\3/
>
> nakolko sa bude tento vyraz menit a dosadzovat ako vstup funkcie.
> akoby som chcel napisat :
>
> sub funkcia_s{
> my($first,$second,$data) =@_;
>
> $data=~s/$first/$second/;
> # tu by som v tomto pripade chcel ziskat $data=~s/$first/\1\2/;
> # a nie skutocnost :$data=~s/$first/\\1\\2/;
> return ($data);
> }
>
> print funkcia_s ("(\\s+)(\\w+)","\\2\\1"," ahoj");
>
> pricom ocakavam vysledok vymenenych vyrazov ="ahoj ".
>
> Vdaka.
>
> Prosim, zpuste poslat, co presne mate. To, co jste poslal, nejde ani
> spustit (/(s+)(w+){s+)(w+)/: unmatched () in regexp). Pokud tu
> zavorku
> opravim, tak \2\1\3 nedostanete, protoze
>
> $ perl
> $data=" abc 123";
> $co="(\s+)(\w+)(\s+)(\w+)";
> $cim="\2\1\3";
> $data =~ s/$co/$cim/gi;
> print "[$data]\n";
> __END__
> [ abc 123]
>
> vzhledem k tomu, ze backslash ma mezi uvozovkami dosti specialni
> vyznam.
>
>
>
> > S pozdravom
> >
----- End forwarded message -----
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, mod_perl, DBI, Oracle, auth. WWW servers, XML/XSL, ...
Petition for a Software Patent Free Europe http://petition.eurolinux.org
------------------------------------------------------------------------
Další informace o konferenci Perl