以下のようなソースを、文字コードUTF-8で保存して、-Kの指定無しで実行する。 #!/usr/bin/ruby module UTF8 def self.c2u(c) [c].pack("U") end def self.utf_range(a, b) "#{c2u(a)}-#{c2u(b)}" end KATAKANA = utf_range(0x30a0, 0x30ff) KANJI = utf_range(0x4e00, 0x9faf) RE_KATAKANA = /[#{KATAKANA}]{2,}/uo RE_KANJI = /[#{KANJI}]{2,}/uo end def test(s) # re = Regexp.union(RE_KANJI, RE_KATAKANA) re = /#{RE_KANJI}|#{RE_KATAKANA}/ puts s.scan(re).