[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