文章の検索や置換を強力に支援する「正規表現」について紹介しています。前回は正規表現がワイルドカードを何十倍も強力にしたものであるということを紹介し、簡単な正規表現で使われるメタ文字を紹介しました。今回は、全国の駅名を例にして、他のメタ文字を紹介します。

●正規表現で巡る日本全国の駅名検索ツール

 前回は、Windows フォルダにあるファイルについて正規表現検索のテストを行いましたが、あまり面白くありませんので、今回は、もう少し面白いプログラムを用意しました。日本全国の駅名について正規表現で検索が行えるというものです。(※ただし、日本全国の駅名についてのデータは、Wikipedia より参照しています。ダウンロードした駅名データのライセンスは、Wikipediaに準じます。)

【使い方】

 以下のプログラムをなでしこエディタに貼り付けて実行ボタンをクリックします。すると、初めて起動する時のみ駅名のテキストデータをダウンロードします。そして、画面の上部に正規表現パターンを入力して[検索]ボタンをクリックしますと、パターンにマッチした駅名のみが画面に表示されます。

図1 正規表現で駅名を検索できます
図1 正規表現で駅名を検索できます
[画像のクリックで拡大表示]

【プログラムソース1】

#-----------------------------------------------------------------------
# 正規表現で巡る日本全国の駅名検索ツール
#-----------------------------------------------------------------------
駅名フォルダ=「{個人設定フォルダ}日本全国駅名¥」
駅名ファイル=駅名フォルダ&「eki.txt」
ZIP=「http://aoikujira.com/demo/sozai/eki-list.zip」
#-----------------------------------------------------------------------
駅名ファイルが存在するか?
もし、それがいいえならば
  TMP=テンポラリフォルダ&「eki-list.zip」。
  ZIPをTMPへHTTPダウンロード。
  TMPを駅名フォルダへ解凍。
ここまで。
駅名=駅名ファイルを開く
#-----------------------------------------------------------------------
母艦の幅=450
母艦の高さ=380
パターンエディタとはエディタ。
そのサイズは「8,8,382,32」
そのテキストは「.*」
結果メモとはメモ。
そのサイズは「8,40,432,336」
検索ボタンとはボタン。
そのサイズは「382,4,432,38」
検索ボタンをクリックした時は

  エラー監視
    駅名の0からパターンエディタを表正規表現ピックアップ
  エラーならば
    それは「正規表現のエラー」
  結果メモ=それ。
  母艦は「駅名検索ツール-{結果メモの要素数}件」
#-----------------------------------------------------------------------