Pythonで正規表現を使用してメールアドレスを検索する方法(.jpgを含まない)


まず、Pythonのreモジュールをインポートします。

import re

次に、検索パターンを定義します。メールアドレスのパターンは比較的複雑ですが、次の正規表現パターンを使用することで一般的なメールアドレスを検出できます。

pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b'

このパターンは、メールアドレスの要件を満たす文字列を検索します。ただし、.jpgを含むメールアドレスは除外します。

次に、テキスト内からメールアドレスを検索する関数を作成します。

def find_emails(text):
    matches = re.findall(pattern, text)
    return matches

この関数は、与えられたテキスト内のすべてのメールアドレスをリストとして返します。

例えば、次のようなテキストがあるとします。

text = "Sample text with [email protected] and image.jpg"

このテキストからメールアドレスを検索する場合、次のように関数を呼び出します。

emails = find_emails(text)
print(emails)

出力結果は次のようになります。

['[email protected]']

このように、検索結果から.jpgを含むメールアドレスが除外されます。

以上がPythonで正規表現を使用してメールアドレスを検索し、.jpgを含まない方法です。お役に立てれば幸いです。