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