メールアドレスの正規表現 clippy 0.6.1公開しました

先日来ご無沙汰だったclippyのソースをメンテしているわけですが、十一月にはいって立て続けにRegexKitLiteがアップデートされたのでアップデートして周辺のソースを眺めていたら恥ずかしいバグを発見しました。メールアドレスの判定の正規表現がもうダメすぎる。自分用の*@xxx.comアドレスしかマッチしません。*@xxx.co.jpとかはヒットしません。あまりの手抜き正規表現になんでこんな風になっているのか自分でも理解できません。少なくとも、この部分に関してはテストケースを書いていないことがバレバレですね。

メールアドレスの正規表現は(たぶん)完全にはできなくて、よほどのレアケースはマッチしなくとも仕方がないと諦めているところもあるのですがそれにしてもねぇ....とりあえず、こんな風にしてみました。

(([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z_])*@(([0-9a-zA-Z])+([-\\w]*[0-9a-zA-Z])*\\.)+[a-zA-Z]{2,9})$)

もっといいのあるぜ!って方。お知らせもらえるとありがたいです。興味のある方はclippyダウンロードページまたは、git/clippy/downloadsからどうぞ。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/341

Comments