メールアドレス・URLの抽出|手作業で抜ける理由

問い合わせ文や議事録からメールアドレス・URL・電話番号だけを取り出す作業を、手で拾うとなぜ抜けるのかを整理します。抽出に使う条件と、拾えない書き方も具体的に示します。

問い合わせのメールが50通たまり、そこから宛先だけを一覧にする。 議事録に散らばったURLを集めて共有する。 どちらも珍しくない作業ですが、手で拾うと必ず取りこぼします。

理由は集中力ではありません。目が探しているものと、実際にそこにある形が違うからです。

手で拾うと抜けるのは、読みやすい形しか見えていないため

人が文章から住所やアドレスを拾うとき、目は「それらしい形」を先に見つけます。 [email protected] のように前後が空いていれば、まず見落としません。

抜けるのは、次のような形です。

どれも読めば分かります。 ただし読んで探す作業を50通ぶん続けると、 後半ほど「1通に1つ」という思い込みで進みます。2つ目のあった通は、そこで飛びます。

そして抜けたことに気づく手がかりがありません。 数が合わないと分かるのは、 先方から「返信が来ない」と言われたときです。

元の文書は全角で書かれていないか

全角だった先に全角・半角の変換を通す。日本語の文書ではこれが一番多い
半角だった記号が伏せてある(at)形か、http から始まらないURLを疑う
抽出したら0件だった

何をもって「メールアドレス」とみなすか

メールアドレス・URL・電話番号の抽出は、 形で判断して抜き出します。判断の条件は次のとおりです。

種類拾う形
メールアドレス英数字と ._%+- の並び + @ + ドメイン + . + 2文字以上の英字
URLhttp:// または https:// で始まり、空白や閉じカッコの手前まで
電話番号0 で始まり、区切りを挟んで3〜4桁で終わる数字の並び
数値桁区切りのコンマと小数点を含む数字

位置と大小文字は問いません

大文字と小文字は区別しません。 [email protected] も拾います。 文の途中に埋まっていても、カッコの中でも、1行に何個あっても同じです。 手で拾うときに抜ける形が、そのまま拾える形になります。

数値を選ぶと、合計まで出ます

合計・平均・最大最小を同時に表示します。 見積書から金額だけを抜いて足す、という使い方もできるでしょう。 桁区切りのコンマは、数の一部として扱います。

重複を除くと、何件重複していたかも分かります

同じアドレスが3回出てくる文章から重複を除くと、結果は1件になります。 このとき、「重複を含めると3件」という表示も一緒に出ます。

消えた数が見えないと、意図した重複が消えたのか、 別のものまで消えたのかを判断できません。 名簿の突き合わせでは、重複の数そのものが調べたい対象になることもあります。

拾えない書き方もあります

形で判断している以上、形が崩れているものは拾えません。 ここは正直に書きます。

全角は変換してから通してください

全角で書かれている場合は、先に 全角・半角の変換を通してから抽出すると拾えます。 実際、日本語の文書では全角で書かれていることが少なくないため、 1回目で0件だったときは、まず全角を疑ってください。

伏せてある書き方は、拾いにいきません

記号を伏せた書き方は、そもそも機械へ拾わせない目的で伏せてあります。 これを拾う仕組みを作るのは、書いた人の意図に反します。

電話番号は、電話番号でないものも拾います

0 で始まる数字の並びを電話番号とみなす条件です。 そのため、郵便番号や商品コードまで混ざることがあります。

〒064-0820 → 電話番号として拾われる場合があります

この条件を厳しくすると、今度は本物の番号を落とします。 日本の電話番号は、市外局番の桁数が地域で変わります。 03-1234-5678 と 0143-12-3456 の両方を満たす形にすると、 郵便番号と区別できるだけの手がかりが残りません。

そのため、拾いすぎる側に倒しています。 目で見て外すほうが、 落ちたものを探すより確実だからです。抽出結果を眺めて、 明らかに違うものを削ってお使いください。

抽出したあとの使い道

抜き出した一覧は、そのまま次の作業へ回せます。

重複を除いて配布先の一覧にするなら重複行の削除、 番号を振って読み合わせに使うなら行番号を振る、 表計算ソフトへ渡すならCSVをJSONに変換が続きます。

いずれも入力した内容は、計算のためにこちらのサーバーへ送っていません。 抽出ツールはこちらから使えます。

この記事の内容を計算するツール

最終更新日: