[Cascavel-pm] Golfe e Linguagens Formais! [was: Quando usar Gramatica e quando usar Regexp? ]

Eden Cardim edencardim em gmail.com
Quinta Maio 24 12:02:21 PDT 2007


On 5/24/07, Nilson Santos Figueiredo Junior <acid06 em gmail.com> wrote:
> On 5/24/07, Wendel Scardua <wendelscardua em gmail.com> wrote:
> >  A string "a^n b^n" (que não é regular) não pode ser reconhecida com uma
> > regexp do Perl (a menos de trapaças envolvendo "use re 'eval'").
>
> $str =~ /a(?:n(?{$c++}))*b(??{'n' x $c})$/;
>
> Devem ter outros jeitos melhores ainda.
> Por esse tipo de coisa que regex de Perl é melhor que das outras linguagens...

Regras:
- O programa deve retornar verdadeiro se for $_ contiver uma string no
padrão "a^nb^n", e falso para todas as outras.
- Não precisa se ater a regexes.

Minha tacada:

    /^(a*)(??{'b'x length$1})$/

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática


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