正規表現によるメールアドレスの検出 - 正規表現
メールアドレスを検出する正規表現を紹介します。
正規表現でメールアドレスを検出するパターンは次の通りです。
パターン1
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
パターン2
([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+
パターン3
[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+
パターン4
(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+))*)|(?:"(?:\\[^\r\n]|[^\\"])*")))\@(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+))*)|(?:\[(?:\\\S|[\x21-\x5a\x5e-\x7e])*\])))
解説
\w は英数字と下線(アルファベット、数字、下線)を表します。[0-9A-Za-z_] と同じ意味になります。
+ は直前の文字の1回以上の繰り返しを意味します
[]はグループを表します。括弧内で指定した文字のいずれかとなります。[-+.']は"-"か"+"か"."か"'"のどれかという意味になります。
* は直前の文字の0回以上の繰り返しを意味します。
\. は"."の文字を表します。\を除いた"."は任意の一文字を示す意味になるためです。
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。