s///g v kombinaci s (?<=)
Vaclav Sigmund
sigi na radio.cz
Čtvrtek Září 5 14:58:37 MEST 2002
> $ 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.
To, to se snad vyresi. Ale co proboha znamena ta vec s/(?<=b)
^^^^^^
Neni to neco jako s/(?:b) ???
Myslel jsem ze RE rozumim, ale tuhle variantu neznam.
Další informace o konferenci Perl