s///g v kombinaci s (?<=)

Michal ©paček skim na deltaes.cz
Čtvrtek Září 5 16:47:04 MEST 2002


On Thu, Sep 05, 2002 at 11:24:59AM +0200, Pavel ©merk wrote:
ahoj
> $ perl -e '$a = "baa\n"; $a =~ s/(?<=b)a/b/g; print $a'
> bba
> Ocekaval jsem vystup bbb, myslel jsem si, ze nejprve se nahradi prvni a 
> a pak druhe a, kdyz to chci "Replace globally, i.e., all occurrences." 
> Jak tohle funguje a kde se o tom da docist (v perlre a perlop jsem nic 
> nenasel) -- perl si ten retezec nemeni pod rukama? Mel jsem za to, ze 
> (zhruba a vagne receno) se posunuje po retezci, pokud najde match, 
> nahradi a hleda dalsi match od mista, kde skoncil minuly, tady to ale 
> vypada, jako by to hledal na nejake RO kopii.
Ja myslim, ze je to spravne, protoze on vybira "b", ktere nasleduje
"a" pricemz to "a" nahradi. A potom uz nenajde dalsi "b", takze nemuze najit ani
nasledujici "a".

perl -e '$a = "baba\n"; $a =~ s/(?<=b)a/b/g; print $a'
bbbb

skim

-- 
---------------------------------------------------
 Michal "sKim" ©paček        Brno, CZ, Europe
 e-mail: skim na deltaes.com    user: debian, TeX
 jabber, e-mail: skim na njs.netlab.cz
------=[ #!/usr/bin/perl ]=------------------------


Daląí informace o konferenci Perl