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