Jak pristupovat k $1, $2, $3 ... behem vyhodnocovani RE?
Pavel Smerk
xsmerk na fi.muni.cz
Úterý Leden 1 22:00:54 CET 2008
Ahoj,
v konstrukci (?{ ... }) muzu pouzit $^N, ve ktere je obsah poslednich
uspesne namatchovanych zavorek (skupiny, nebo jak se to rekne cesky). To se
hodi, pokud se nechci starat o to, kolikata skupina to byla (jinak bych mohl
pouzit napr. $3 nebo nejakou jinou konkretni z $<digits>).
Ale co mam delat, pokud bych nechtel jenom posledni, ale treba i
predposledni --- a to aniz bych se musel starat o to, kolikata to je?
Mohl bych zrejme delat nejake substr($_, $-[-1], $+[@- - 1] - $-[-1])
(nemuzu pouzit $+[-1], protoze @+ ma, kupodivu narozdil od @-, uz od
zacatku, a tedy po celou dobu vyhodnocovani RE, nejvyssi index rovny poctu
skupin v RE), ale to mi pripada zbytecne slozite, protoze ty $1, $2, $3 ...
promenne jsou naplnene, cili bych jen potreboval na ne umet sahnout.
Existuje tedy nejake @pole, ve kterem by byly vsechny naplnene $<digits>,
abych mohl pouzit @pole[-2] atd.? Pokud ne, proc? Proc je mi v $^N umoznovan
snadny pristup k posledni (tedy navrhari jazyka pocitam naznali, ze to bude
uzitecne) a nemam podobne snadny pristup k predposledni a dalsim?
Diky moc, P.
Další informace o konferenci Perl