Oniguruma(CRuby 1.9系組み込み)とOnigumo(CRuby 2.0系組み込み)で利用できるUnicodeブロックおよびUnicodeスクリプトを使うと、日本語(というか多バイトの文字列)に対する正規表現が手軽に書ける。 例えば\p{N}は全角半角にかかわらずアラビア数字にマッチする。Unicode 6.0だと四角い囲いのついた数字は数字と囲い記号の結合で表わされるけども、この数字の部分にもマッチする。 /\p{N}/ =~ "1" #=> 0 /\p{N}/ =~ "1" #=> 0 /\p{N}/ =~ "\u{0030 20E3}" #=> 0 他にもアルファベットだと\p{Alphabetic}、小文字だけなら\p{Lowercase}とか。なにが使えるかはOnigurumaのREADMEのCharacter Propertyとか、OnigumoのUnicodeP