Jak projít všechny možnosti vyhodnocení RE?

Pavel Smerk xsmerk na fi.muni.cz
Úterý Květen 29 21:43:21 CEST 2007


On Tue, May 29, 2007 at 07:24:41PM +0200, Pavel Smerk wrote:
> On Tue, May 29, 2007 at 06:37:19PM +0200, Pavel Smerk wrote:
> > počítám, že to nebude nějak složité (že chci jen trochu jinak využít něco,
> > co perl už stejně umí), ale moc nevím, jak se zeptat Googlu či co přesně
> > hledat. Pokud mám
> > 
> > $ perl -e 'print join(" ", "abc" =~ /(a.?)(.?c)/), "\n"'
> > ab c
> > 
> > chtěl bych nějak dostat i druhé "možné řešení", tedy `a bc', v případě
> > složitějších konstrukcí všechna možná řešení.
> 
> OK, tak neco umim:
> 
> $ perl -e '"abbc" =~ /
>                 (ab*)   (?{ $a[0] = $^N })
>                 (b*)    (?{ $a[1] = $^N })
>                 (b*c)   (?{ $a[2] = $^N })
>                 $       (?{ print join(" ", @a), "\n" })
>                 (?<=jiste neexistujici pravy substring)
>         /x'

Ehm, no tak uz asi nic:

perl -e '"abbc" =~ /(ab*)(b*)(b*c)$
			(?{ print join(" ", $1, $2, $3), "\n" })
			(?<=jiste neexistujici pravy substring)/x'
abb  c
ab b c
ab  bc
a bb c
a b bc
a  bbc

Leda by se mi hodilo umet to $1, $2, $3 rict nejakym @neco, ale v man
perlvar ani man perlre nic nenachazim --- hledam spatne, nebo nic takoveho
neni?
							Diky,		P.


Další informace o konferenci Perl