Rumah >pembangunan bahagian belakang >Tutorial Python >Memahami Regex dalam Python: Contoh Praktikal
Ekspresi biasa, biasanya dikenali sebagai regex, ialah alat yang berkuasa untuk padanan corak dan manipulasi teks. Mereka membenarkan pembangun mencari, memadankan dan memanipulasi rentetan dengan ketepatan. Dalam catatan blog ini, kami akan meneroka cara regex digunakan dalam Python melalui contoh praktikal daripada fungsi pengesahan pelanggan.
Pertimbangkan senario di mana kami perlu mengesahkan maklumat pelanggan, khususnya nama pertama, nama keluarga dan nombor mudah alih mereka. Coretan kod berikut menunjukkan cara regex digunakan untuk mengesahkan nombor mudah alih dalam kelas Python:
from sqlalchemy.orm import validates import re class Customer: @validates('first_name', 'last_name', 'mobile') def validate(self, key, value): if key == 'first_name' or key == 'last_name': if len(value) == 0: raise ValueError(f'Server validation error: No {"first name" if key == "first_name" else "last name"}') elif key == 'mobile': mobile = r"((([\(]?[0-9]{3,4}[\)]\s?)|([0-9]{3,4}[\-]))[0-9]{3,4}[\-][0-9]{4})|([0-9]{10,12})" mobile_regex = re.compile(mobile) if not mobile_regex.fullmatch(value): raise ValueError('Server validation error: Invalid mobile number') return value
Dalam kaedah pengesahan, kami menggunakan regex untuk memastikan nombor mudah alih yang diberikan oleh pelanggan mematuhi format tertentu. Mari kita pecahkan corak regex yang digunakan:
mobile = r"((([\(]?[0-9]{3,4}[\)]\s?)|([0-9]{3,4}[\-]))[0-9]{3,4}[\-][0-9]{4})|([0-9]{10,12})"
Kurungan dan Tanda Sempang:
([(]?[0-9]{3,4}[)]s?): Bahagian regex ini sepadan dengan kurungan pembuka pilihan (, diikuti dengan 3 atau 4 digit, kurungan penutup pilihan ), dan pilihan ruang.
([0-9]{3,4}[-]): Bahagian ini sepadan dengan 3 atau 4 digit diikuti dengan tanda sempang -.
Nombor Utama:
[0-9]{3,4}[-][0-9]{4}: Bahagian ini sepadan dengan 3 atau 4 digit, tanda sempang dan kemudian 4 digit.
Format Alternatif:
([0-9]{10,12}):
Bahagian ini sepadan dengan jujukan 10 hingga 12 digit, membolehkan format nombor mudah alih yang lebih padat tanpa pemisah.
Corak regex disusun menggunakan re.compile(mobile), dan kaedah padanan penuh digunakan untuk menyemak sama ada keseluruhan rentetan sepadan dengan corak:
mobile_regex = re.compile(mobile) if not mobile_regex.fullmatch(value): raise ValueError('Server validation error: Invalid mobile number')
Jika nombor mudah alih tidak sepadan dengan corak regex, ValueError dinaikkan, menunjukkan nombor mudah alih tidak sah.
Regex ialah alat serba boleh untuk pengesahan dan manipulasi rentetan. Dalam contoh ini, kami menggunakan regex untuk mengesahkan nombor mudah alih, memastikan ia mematuhi format tertentu. Dengan memahami dan menggunakan regex, pembangun boleh melakukan operasi rentetan yang kompleks dengan mudah dan tepat.
Sama ada anda mengesahkan input pengguna, mencari corak dalam teks atau melakukan manipulasi teks, regex menyediakan penyelesaian yang mantap untuk keperluan anda. Selamat mengekod!
Atas ialah kandungan terperinci Memahami Regex dalam Python: Contoh Praktikal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!