[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