Rumah >pembangunan bahagian belakang >Tutorial Python >Ungkapan Biasa
Gambar ini, anda cuba mendaftar untuk tapak web, anda masukkan e-mel dan kata laluan anda dan anda mendapat mesej "Nama pengguna atau kata laluan yang anda masukkan tidak sah. Sila cuba lagi. "
Bagaimanakah komputer mengetahui nama pengguna atau kata laluan yang anda masukkan adalah tidak sah? Jawapannya ialah alat yang sangat berkuasa yang dipanggil ungkapan biasa.
Ungkapan biasa, atau ringkasan regex, ialah corak yang digunakan untuk memadankan semua jenis aksara dalam teks. Keindahan ungkapan biasa ialah anda boleh mereka bentuknya untuk mencari apa sahaja yang anda mahukan.
Corak RegEx boleh semudah mencari aksara dalam teks, dengan padanan penuh yang tepat. Contohnya corak:
kata laluan
Akan dipadankan dengan teks literal "kata laluan". Corak khusus ini peka huruf besar-besaran jadi teks "Kata Laluan" tidak sepadan kerana p ditulis dengan huruf besar.
Kebanyakan tapak web memerlukan kata laluan anda untuk memenuhi keperluan ini:
Bagaimanakah kita akan membuat corak yang mencari keperluan ini? Kuncinya terletak pada metakarakter regex. Metacharacter ialah trengkas yang dipratakrifkan untuk memadankan jenis watak.
Karakter meta yang boleh kita gunakan untuk melepasi keperluan pertama ialah:
[a-z]
Kurungan digunakan untuk memberitahu komputer di mana julat bermula dan berakhir. a-z digunakan untuk mencari huruf kecil dalam julat a-z.
[A-Z]
Sama seperti a-z, A-Z mencari sebarang huruf besar. Melepasi syarat kedua.
d
Metacharacter ini melepasi keperluan ketiga, ia memberitahu komputer untuk mencari dan memadankan dengan mana-mana digit.
W
Metacharacter ini boleh digunakan untuk meluluskan hujah keempat kerana ia sepadan dengan mana-mana aksara bukan perkataan. Aksara perkataan termasuk mana-mana huruf besar atau tidak, mana-mana digit dan garis bawah.
{8,}
Kurung kerinting ialah aksara khas yang memberitahu komputer untuk memadankan apa sahaja yang datang sebelum itu x banyak kali. Jika koma disertakan di dalam kurungan, ia berubah untuk memadankan apa sahaja yang tertera sebelum sekurang-kurangnya x amaun kali. Jika nombor kedua diletakkan selepas koma, ia akan menjadi pola didahului maksimum y kali. Jika tiada nombor diletakkan selepas koma, komputer mentafsirkannya sebagai jumlah yang tidak terhingga.
Dengan bantuan beberapa aksara meta tambahan:
^ Digunakan untuk menunjukkan permulaan teks
$ Digunakan untuk menunjukkan penghujung teks
() Digunakan untuk mengumpulkan ungkapan
(?=) Digunakan untuk melihat ke hadapan dalam teks
. Padan dengan mana-mana watak
* Memadankan token sebelumnya antara 0 dan masa tanpa had
Kini kami boleh meletakkan corak regex kata laluan kami bersama-sama. Keputusan akhir akan kelihatan seperti ini.
^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*W).{8,}$
Pada ketika ini anda mungkin menyedari betapa kuatnya ungkapan biasa. Ini hanyalah puncak gunung ais. Ia boleh digunakan untuk mengesahkan input, memadankan teks, mencari dan menggantikan teks, antara lain.
Jika artikel ini memuncak minat anda, saya syorkan anda menyemak beberapa pautan di bawah.
Untuk mengetahui lebih lanjut tentang ungkapan biasa, lihat artikel ini:
Ungkapan Biasa
Ungkapan Biasa Python-Google Education
Untuk mencuba menulis ungkapan biasa anda sendiri, lawati regex101
Sumber kertas dinding
Atas ialah kandungan terperinci Ungkapan Biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!