更新日 2019/5/3 戻る Perlメモへ - メールアドレスの正規表現へ Perl正規表現雑技へ 更新履歴 2019/05/03 「制御文字を除去する」「参考文献」RFC5321日本語訳のリンク修正 2009/08/13 $atextのバグ修正 2009/05/06 「正規表現を簡略化する」追記 2009/04/29 「旧形式を削除する」追記 2009/04/13 「IPアドレスを除去する」追記 目次 RFCに準拠したメールアドレスの正規表現 コメントと空白文字を除去する 制御文字を除去する IPアドレスを除去する 旧形式を除去する 正規表現を簡略化する 参考文献 RFCに準拠したメールアドレスの正規表現 メールアドレスについては RFC 5322 に addr-spec として書かれています. 下記は RFC 5322 に従って導き出した正規表現です. 14,277バイトあります.
能書き 前エントリを書いてからいろいろと調べていて驚いたんだけど、日本語のwebsiteで、それなりにまともにRFC822(RFC2822,RFC5322)に準拠した(もしくはきちんと意図的に準拠していない部分を選択している)正規表現はPerlだろうがPHPだろうがRubyだろうが軽くぐぐった程度では見当たらない。PerlのモジュールのEmail::AddressもEmail::Validも程度の差はあれ問題を抱えている。そこらへんの既存の出回ってる正規表現にどういった問題があるかなんてことは次回エントリにて。 というわけで、Perl、PHP、RubyでRFC5322準拠なメールアドレス(addr-spec)の正規表現を以下に示します。尚、addr-specの最終的な正規表現のみならずそれを作成するに至る部分も併記してあります。これは、最終的な正規表現だけでは難解すぎてとても理解できないか
Network Working Group P. Resnick, Ed. Request for Comments: 5322 Qualcomm Incorporated Obsoletes: 2822 October 2008 Updates: 4021 Category: Standards Track Internet Message Format Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet
今回はメルマガ等やメーリングリストのように大量のメールを配信するためのメール配信システムを自前で開発している方向けの情報(備忘録?)です。 大量のメールを配信する場合、配信できなかったエラーメールを適切に処理することが重要です。たとえば、 なんて感じです。適切なエラーメール処理なくば、知らず知らずのうちに SPAMer と同じようなメール配信をしていることになってしまうのです。かく言う僕の作ったメール配信システムも、それほどエラーメール処理を厳密に行っているわけではなく、何とかしないとなぁ〜と思っている今日この頃で、ちまちま資料を集め始めて仕様検討している次第です。
It would not be a bad idea for you to indulge in a bit of grooming and pampering of your own accord. Take the minutest of details on your person and see what a difference it makes to your entire appearance. Project yourself to the rest of the world in the smartest and most hygienic manners possible. What a difference a manicure and pedicure can make. Gentlemen, are you taking note of this. Because
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く