July 2011

July 06, 2011

このエントリーをはてなブックマークに追加
Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。

まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。

あ、だいぶはしょったかな。
とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。

ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。
今ではもっと厳密な正規表現を作っています。

そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、本邦初公開ってヤツでしょう。
Shibuya.pm でも言いましたが、郵便番号は 7 桁あるので数字の組み合わせは 1 千万個 (000-0000 〜 999-9999) あります。
しかし、実際には使われていない郵便番号がその中で 9,859,522 個。
つまり 7 桁の数字の組み合わせ全体の約 98.6% は、郵便番号として「正しい」と判定してはいけないのです。

それなのに、「3 桁数字 ハイフン 4 桁数字は郵便番号として正しい」とするものが多く、憤慨し、こういう正規表現を作らずにはいられなくなった。世の中の多くの人の間違い、これがその原動力になったのです。

いや、憤慨は嘘です。全然嘘です。

ということで、2011-06-01 総務省公表データに基く、電話番号の正規表現、2011-06-30 日本郵便発表データに基く、郵便番号の正規表現をご紹介します。続きを読む


nipotan at 16:06 | Comments(10) | TrackBack(1) | 技術 
このエントリーをはてなブックマークに追加