Memasukkan Pembolehubah ke dalam Ungkapan Biasa dalam Python
Walaupun ungkapan biasa sangat berguna untuk mencari corak dalam teks, kadangkala ia berfaedah untuk menggabungkan nilai dinamik ke dalam kriteria carian. Dalam Python, ini boleh dicapai dengan membina ungkapan biasa sebagai rentetan.
Pertimbangkan senario berikut di mana anda ingin mencari perkataan tertentu dalam teks, tetapi perkataan itu sendiri disimpan dalam pembolehubah yang dipanggil TEXTO :
TEXTO = sys.argv[1]
Untuk memasukkan pembolehubah ini dalam ungkapan biasa anda, anda boleh menggabungkannya dengan corak yang diingini sebagai berikut:
my_regex = r"\b(?=\w)" + re.escape(TEXTO) + r"\b(?!\w)"
Berikut ialah pecahan komponen:
Dengan ungkapan biasa yang dibina sepenuhnya, anda boleh meneruskan percubaan padanan anda:
if re.search(my_regex, subject, re.IGNORECASE): # Successful match else: # Match attempt failed
Perhatikan bahawa penggunaan re.escape() adalah penting jika TEXTO mengandungi sebarang aksara khas, seperti . atau , yang boleh mengganggu padanan corak. Dengan melarikan diri daripada watak-watak ini, mereka dianggap sebagai watak literal dan bukannya watak meta.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah dalam Ungkapan Biasa Python untuk Padanan Corak Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!