[Rio-pm] bigramas e regexp

Gabriel Andrade de Santana gabiruh em gmail.com
Quarta Março 14 08:21:46 PDT 2012


2012/3/14 Stanislaw Pusep <creaktive em gmail.com>:
> Estava testando o seguinte código, que quebra uma string em bigramas (no
> caso, 'split //' quebra em unigramas):
>
> $_ = q(anticonstitucionalissimamente);
> for (; /(.{2})/gx; --pos) {
>     print qq($1 );
> }
>
> O resultado é:
>
> an nt ti ic co on ns st ti it tu uc ci io on na al li is ss si im ma am me
> en nt te
>
> Existe alguma forma mais bacana de se fazer isso? Talvez com uma única
> regexp/split?

"(?=pattern)"
                     A zero-width positive look-ahead assertion.  For example,
                     "/\w+(?=\t)/" matches a word followed by a tab, without
                     including the tab in $&.


$_ = q(anticonstitucionalissimamente);
my (@bigrams) = $_ =~ /(?=(..))/g

TADA!


Mais detalhes sobre a lista de discussão Rio-pm