Do ruby-lang.org (http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_0/NEWS)
* \d, \s, and \w are now ASCII only; use POSIX bracket classes and \p{} for Unicode semantics
O que significa que no Ruby 1.8.7, isso aqui funciona:
> irb -Ku
> "você" =~ /\w$/
=> 3
Mas não no Ruby 1.9.2:
> irb
> "você" =~ /\w$/
=> nil
Para que a coisa funcione corretamento no 1.9.2 é preciso usar "\p{Alpha}":
> irb
> "você" =~ /\p{Alpha}$/
=> 3
Perfeito, mas se você tenta a mesma solução no Ruby 1.8.7:
> irb -Ku
> "você" =~ /\p{Alpha}$/
(irb):1: warning: regexp has invalid interval
(irb):1: warning: regexp has `}' without escape
=> nil
Okay... nada que seja um absurdo, mas para quem trabalha com a língua portuguesa isso fica um pouco chato.
Nenhum comentário:
Postar um comentário