Como posso detectar certos caracteres Unicode em uma string no Ruby?
Dada uma string no Ruby 1.8.7 (sem o incrível mecanismo de expressão regular Oniguruma que suporta propriedades Unicode com \ p {}), eu gostaria de poder determinar se a string contém um ou mais caracteres chineses, japoneses ou coreanos; isto é
class String
def contains_cjk?
...
end
end
>> '日本語'.contains_cjk?
=> true
>> '광고 프로그램'.contains_cjk?
=> true
>> '艾弗森将退出篮坛'.contains_cjk?
=> true
>> 'Watashi ha bakana gaijin desu.'.contains_cjk?
=> false
Eu suspeito que isso se resume a ver se algum dos caracteres da string está noBlocos Unici Unihan CJKV, mas achei que valeria a pena perguntar se alguém sabe de uma solução existente no Ruby.