Python
 Computer >> コンピューター >  >> プログラミング >> Python

正規表現(Regex)を使ってPandasシリーズの有効なメールアドレスをフィルタリングする方法

正規表現(Regex)とは、検索パターンを定義するための文字列のことです。本記事では、この正規表現を活用して、有効なメールアドレスと無効なメールアドレスを判別・フィルタリングする方法を解説します。

具体的には、さまざまなメールアドレスを含むPandasシリーズを定義し、どのメールアドレスが有効であるかを確認します。また、Pythonで正規表現を扱うための標準ライブラリ「re」も使用します。

アルゴリズム

ステップ1:さまざまなメールアドレスを含むPandasシリーズを定義する。
ステップ2:メールアドレスの有効性を判定するための正規表現パターンを定義する。
ステップ3:reライブラリの re.search() 関数を使って、メールアドレスの有効性をチェックする。

サンプルコード

import pandas as pd
import re

series = pd.Series(['jimmyadams123@gmail.com', 'hellowolrd.com'])
regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'
for email in series:
    if re.search(regex, email):
        print("{}: Valid Email".format(email))
    else:
        print("{} : Invalid Email".format(email))

実行結果

jimmyadams123@gmail.com: Valid Email
hellowolrd.com : Invalid Email

解説

変数 regex に使用されている主な記号とその意味は以下のとおりです。

  • ^:文字列の先頭を示すアンカー
  • [ ]:角括弧で囲まれた部分は文字クラスを定義し、その中のいずれか1文字にマッチする
  • \:エスケープ文字。特殊文字を通常の文字として扱う際に使用
  • .:ドットは改行以外の任意の1文字にマッチする
  • {}:波括弧は繰り返し回数などの範囲指定に使用される
  • $:ドル記号は文字列の末尾を示すアンカー

このパターンでは、小文字の英数字で始まり、オプションでドットまたはアンダースコアを含み、「@」の後にドメイン名、さらに「.」と2〜3文字のトップレベルドメインが続く形式のメールアドレスを有効と判定しています。実際の業務では、国際化ドメインや新しいトップレベルドメインにも対応できるよう、より柔軟なパターン設計を検討するとよいでしょう。

  1. Gmailで独自ドメインのメールアドレスを使う方法|プロフェッショナルなビジネスメールを実現する手順

    ビジネスシーンにおいて、メールは今もっとも重要なコミュニケーションツールの一つです。日常業務から取引先とのやり取りまで、メールは欠かせない存在であり、ビジネス上の連絡手段としてもっとも好まれる形式でもあります。 しかし、送信者のメールアドレスが「@gmail.com」のままでは、相手に与える印象が物足りないと感じたことはありませんか? プロフェッショナルなメールアドレスとは、末尾が「@yourwebsite.com」のような独自ドメインになっているものです。例えば「techexpert@gmail.com」ではなく「techexpert@makeuseof.com」のように表示されるため、より

  2. タイムブロッキングでメールやメッセージの中断を減らし、集中力を高める方法

    職場での円滑なコミュニケーションは重要ですが、集中したいときには逆に邪魔になることがあります。すべてのメールやメッセージにすぐ返信しなければならないと考えがちですが、それが気づけば時間のかかるやり取りに発展してしまうことも少なくありません。この記事では、タイムブロッキングを活用してコミュニケーションの時間を管理し、目の前の作業に集中し続けるための方法をご紹介します。1. 受信トレイのタイムブロッキングメールが届くたびに受信トレイを開いていては、なかなか仕事が進みません。メールを読んで返信するだけでなく、作業に再び集中できる状態に戻るまでにも時間がかかってしまうからです。そんなときこそ、タイムブ