1.9.2 :001 > "隣の客は良く柿食う客だ".each_char do |c| 1.9.2 :002 > if c =~ /\p{Han}/ 1.9.2 :003?> puts $& 1.9.2 :004?> end 1.9.2 :005?> end 隣 客 良 柿 食 客 => "隣の客は良く柿食う客だ"
Ruby1.9では正規表現のエンジンがonigurumaに変更になったことで、Character Propertiesが利用できるようになりました。\p{Han}は、漢字*1です。日本語で言えば他にも、\p{Hiragana}, \p{Katakana} があります。
参考:
Class: Regexp (Ruby 1.9.3)
Ruby 1.9 における日本語処理のポイントをまとめてみました - ¬¬日常日記
MODULE.JP - 日本語に絡むUnicodeブロックとスクリプト(正規表現)
*1:恐らく中国語で利用される漢字含む