日本語を検索するには

日本語には文字コードがあった。UNIX で作ったデータならば、 文字コードは変更せずに使用することができた。 egrep_jp.rb を作り、検索を実行してみよう。

#!/usr/koeki/bin/ruby

while station = gets
    if /酒?田\s+/e =~ station
    print station
    end
end

となる。実行すると

本庄早稲田      埼玉県  ほんじょうわせだ        Honjowaseda
大石田          山形県  おおいしだ              Oishida
新発田          新潟県  しばた                  Shibata
酒田            山形県  さかた                  Sakata
秋田            秋田県  あきた                  Akita
東酒田          山形県  ひがしさかた            Higashisakata
羽田            東京都  はねだ                  Haneda

となる。駅名が "田" で終わるものを検索した。"中田" だったか、"酒田" だったか、それとも "高田" なのか、分からないときに使える。

なぜ "田" で終わる駅が検索されたのか、 順を追って説明せよ。

"/ /e" で EUC で探す、という意味である。 Shift JIS では、"/ /s" を用いる。EUC, Shift JIS は漢字コードと呼ばれる。

e を s に変更した場合、どのような検索結果が出るか。 それはなぜだろうか。

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka.koeki-u.ac.jp>