Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan ungkapan biasa Python untuk pengesahan alamat e-mel

Cara menggunakan ungkapan biasa Python untuk pengesahan alamat e-mel

WBOY
WBOYasal
2023-06-22 08:37:541898semak imbas

Pengesahan alamat e-mel adalah keperluan yang sangat biasa, sama ada membangunkan tapak web atau menulis program klien e-mel. Modul ekspresi biasa terbina dalam Python ialah alat yang berkuasa untuk menangani masalah sedemikian. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pengesahan alamat e-mel.

Format alamat e-mel

Sebelum kita mula, mari kita fahami format asas alamat e-mel supaya lebih tepat apabila menggunakan ungkapan biasa untuk pengesahan.

Alamat e-mel standard terdiri daripada dua bahagian, iaitu "nama pengguna" dan "nama domain". Antaranya, bahagian "nama pengguna" biasanya terdiri daripada huruf, nombor, garis bawah, noktah, sempang dan aksara lain, manakala bahagian "nama domain" terdiri daripada nama hos dan nama domain, disambungkan dengan simbol "@" di tengah. .

Sebagai contoh, alamat e-mel biasa mungkin "james@example.com". Antaranya, "james" ialah nama pengguna dan "example.com" ialah nama domain.

Selain format asas ini, terdapat banyak format alamat e-mel yang kompleks, seperti nama domain antarabangsa, alamat IP, dsb. Tetapi biasanya, kita hanya perlu berurusan dengan format alamat e-mel umum.

Gunakan ungkapan biasa untuk pengesahan

Modul semula terbina dalam Python menyediakan banyak fungsi ungkapan biasa, yang paling biasa digunakan ialah re.match() dan re.search(). Kedua-dua fungsi boleh digunakan untuk mencari corak dalam sekeping teks.

Untuk mengesahkan alamat e-mel, kami perlu menggunakan ungkapan biasa untuk memadankan format alamat e-mel. Berikut ialah ungkapan biasa alamat e-mel asas:

import re

pattern = re.compile(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z|a-z]{2,}')

Maksud ungkapan biasa ini ialah:

  • : memadankan sempadan perkataan untuk memastikan kami hanya memadankan alamat e-mel yang lengkap .
  • [A-Za-z0-9._%+-]+: Padankan satu atau lebih huruf, nombor, noktah, garis bawah, sempang, tanda tambah dan tanda peratus.
  • @: Padan dengan watak "@".
  • [A-Za-z0-9.-]+: Padankan satu atau lebih huruf, nombor, noktah dan sempang.
  • .: Padan dengan watak "."
  • [A-Z|a-z]{2,}: Padankan sekurang-kurangnya dua huruf.

Dalam ungkapan biasa di atas, kami menggunakan dua simbol pengkuantiti + dan {2,}. Kedua-duanya mewakili satu atau lebih ulangan, tetapi + mesti mempunyai sekurang-kurangnya satu, dan {2 ,} Di sana mestilah sekurang-kurangnya dua.

Sudah tentu, ungkapan biasa di atas tidak merangkumi semua format alamat e-mel, tetapi ia boleh memadankan kebanyakan alamat e-mel yang memenuhi piawaian.

Seterusnya, kita boleh menggunakan fungsi padanan() atau carian() modul semula untuk mengesahkan alamat e-mel.

email = "james@example.com"
if re.match(pattern, email):
    print("Valid email address.")
else:
    print("Invalid email address.")

Kami mengambil "james@example.com" sebagai contoh dan menggunakan fungsi match() untuk mengesahkan. Jika alamat sepadan dengan ungkapan biasa kami, keluarkan "Alamat e-mel yang sah." jika tidak, keluarkan "Alamat e-mel tidak sah."

Jika anda ingin mengesahkan kumpulan alamat e-mel, anda boleh menyimpannya dalam senarai atau fail:

emails = ['james@example.com', 'jane.doe@example.com', 'john_doe@mail.com']

for email in emails:
    if re.match(pattern, email):
        print(email, "is a valid email address.")
    else:
        print(email, "is an invalid email address.")

Dengan cara ini, kami boleh mengesahkan kumpulan alamat e-mel dengan cepat.

Ringkasan

Menggunakan ungkapan biasa Python untuk pengesahan alamat e-mel ialah tugas yang sangat biasa. Dalam artikel ini, kami memperkenalkan beberapa format alamat e-mel asas dan ungkapan biasa mereka, dan cara menggunakan modul semula terbina dalam Python untuk mengesahkan alamat e-mel. Sudah tentu, jika anda memerlukan fungsi pengesahan yang lebih kompleks, anda juga boleh menggabungkannya dengan modul Python yang lain. Saya harap artikel ini dapat membantu anda apabila menangani isu pengesahan alamat e-mel!

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk pengesahan alamat e-mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn