Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan Rentetan yang Dibekalkan Pengguna dengan Selamat sebagai Corak Regex dalam Python?
Melepaskan Aksara Regex dalam Corak Bekal Pengguna
Apabila menggunakan input pengguna sebagai corak ungkapan biasa, adalah penting untuk menangani isu aksara yang mempunyai makna istimewa dalam sintaks regex. Sebagai contoh, niat pengguna untuk mencari "Perkataan" akan disalahtafsirkan sebagai kumpulan oleh enjin regex disebabkan kurungan. Untuk mengelakkan ini, kita perlu menganggap kurungan sebagai rentetan literal, bukan simbol regex.
Pendekatan Konvensional: Penggantian Manual
Satu kaedah untuk melepaskan aksara ini adalah dengan secara manual gantikan setiap kejadian dengan versi yang dilepaskan. Sebagai contoh, kita boleh menggantikan "(s)" dengan "(s)". Walau bagaimanapun, ini memerlukan mempertimbangkan setiap simbol regex yang mungkin, yang boleh menyusahkan.
Penyelesaian yang Lebih Baik: Fungsi re.escape
Penyelesaian yang lebih cekap ialah menggunakan semula Python Fungsi .escape(), yang secara automatik melepaskan aksara bukan abjad angka dalam rentetan. Ini membolehkan kami menganggap aksara regex khas sebagai rentetan literal.
Sebagai contoh, untuk mencari sebarang contoh "Perkataan" dalam teks, kita boleh menggunakan:
def simplistic_plural(word, text): word_or_plural = re.escape(word) + 's?' return re.match(word_or_plural, text)
Fungsi ini mengembalikan objek padanan jika corak ditemui dalam teks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Rentetan yang Dibekalkan Pengguna dengan Selamat sebagai Corak Regex dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!