都道府県にマッチする正規表現をいくつか考えて、テストしたので紹介します。
テスト環境
今回はサクラエディタと呼ばれる、ボランティアベースで開発されている素晴らしいテキストエディタで正規表現を実行しております。
Sakura Editor
Japanese text editor for MS Windows
都、道、府、県の4つでまとめた「都道府県検出正規表現」
コード
(東京都|北海道|(?:京都|大阪)府|.{2,3}県)
47都道府県を、「都、道、府、県」の4行政機関ごとにまとめた正規表現です。
テスト結果
「下関県」や「山本県」などの間違いが混じっているとヒットしまう欠点があります。
ただ、選択メニュー等から吐き出された文字列を結合している住所の場合はこれで十分です。
可読性がやや落ちるため、正規表現の説明は少し大変かもしれません。
「県」のみ、ひとまとめにした「都道府県検出正規表現」
コード
(東京都|北海道|大阪府|京都府|.{2,3}県)
47都道府県のうち、京都府と大阪府はまとめず”県”のみ1つにまとめています。
「都道府」は数が少ないので完全表記で、県は2,3文字に収まっていればOKという内容の正規表現です。
テスト結果
これも県はざっくりとした確認なので「下関県」や「山本県」にヒットしてしまいます。
省略なし!「都道府県研修正規表現」
コード
(北海道|青森県|岩手県|宮城県|秋田県|山形県|福島県|茨城県|栃木県|群馬県|埼玉県|千葉県|東京都|神奈川県|新潟県|富山県|石川県|福井県|山梨県|長野県|岐阜県|静岡県|愛知県|三重県|滋賀県|京都府|大阪府|兵庫県|奈良県|和歌山県|鳥取県|島根県|岡山県|広島県|山口県|徳島県|香川県|愛媛県|高知県|福岡県|佐賀県|長崎県|熊本県|大分県|宮崎県|鹿児島県|沖縄県)
こちらの正規表現だと完全に都道府県を確認できます。
当たり前ですが全ての都道府県を網羅しているからです。
テスト結果
これだと「下関県」や「山本県」などの現実に存在しない県は条件範囲外として認識します。
愚直ですが、迷ったらこれでよいかと思います。
まとめ
人並な言葉でまとめになりますが、適所適材で正規表現をカスタマイズすればよいかと思います。
以上です。