[Rio-pm] range de números em regexp
Breno G. de Oliveira
breno em clavis.com.br
Quinta Junho 1 17:55:16 PDT 2006
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
Mais detalhes sobre a lista de discussão Rio-pm