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

Pavel Šmerk xsmerk na informatics.muni.cz
Čtvrtek Září 5 10:48:08 MEST 2002


Zdravim vespolek,

$ 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.

Diky

P.



Další informace o konferenci Perl