[Rio-pm] range de números em regexp

Camila Mattos "MK" misskaapow em gmail.com
Quinta Junho 1 19:18:27 PDT 2006


/^(1[6-9]|2\d|3[0-4])$/ ?!
deve ter outra maneira mais bonita de fazer, mas como eu tô meio
ocupada agora não dá pra pensar melhor...

On 6/1/06, Breno G. de Oliveira <breno em clavis.com.br> wrote:
> Pessoal,
>
> recentemente um amigo meu me apresentou o seguinte problema:
>
> "como fazer uma ER que só case se encontrar um número dentro de um
> intervalo/alcance/range qualquer?"
>
> Bem - disse eu -,  para fazer isso com números entre 0 e 9 é
> relativamente fácil. Para buscar, por exemplo, por números entre 5 e 8,
> poderíamos usar:
>
> /[5678]/
>
> Mas e quando queremos encontrar números com mais de um dígito?
>
>
> Eis, então, o problema: fazer uma ER que case SE E SOMENTE SE o valor
> estiver entre 16 e 34.
>
> Em Perl 6 é fácil (aí Fernando! ;P), partindo do princípio que o RFC 197
> foi respeitado, bastaria fazer:
>
> /(16,32)/
>
> mas e em Perl 5? Alguém se habilita?
>
> obs: não vale fazer /16|17|18|19|20|21|...|29|30|31|32/   =)
>
>
> []s
>
> breno
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


-- 
[]s,
camila mattos "mk."

"there is more than one way to do it";

http://designerfakes.net ; porfolio
#392689 ; linux user


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