Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Corak Khusus daripada Data Teks dengan Python Regex?
Mengekstrak Corak dengan Python Regex
Apabila berurusan dengan data teks, mengekstrak corak tertentu boleh menjadi tugas biasa. Ungkapan biasa ialah alat yang berkuasa untuk tujuan ini, membolehkan pengaturcara menangkap corak padanan dalam rentetan yang lebih besar.
Pertimbangkan contoh berikut, di mana kita ingin mendapatkan semula perkataan "my_user_name" daripada rentetan yang diberikan:
someline abc someother line name my_user_name is valid some more lines
Menggunakan modul semula, kami mula-mula menyusun corak ungkapan biasa:
p = re.compile("name .* is valid", re.flags)
The hujah re.flags membenarkan pengubah suai bendera pilihan, seperti re.IGNORECASE atau re.DOTALL. Dalam kes ini, kami tidak menggunakan sebarang pengubah suai.
Untuk mencari corak padanan dalam rentetan, kami menggunakan kaedah padanan:
p.match(s) # this gives me <_sre.SRE_Match object at 0x026B6838>
Walau bagaimanapun, kaedah padanan hanya mengembalikan metadata tentang perlawanan, tanpa menangkap teks yang dipadankan sebenar. Untuk mengekstrak bahagian yang ditangkap, kita perlu menggunakan kaedah kumpulan:
result = p.search(s) if result: user_name = result.group(1)
Ungkapan result.group(1) menangkap kumpulan tangkapan pertama dalam ungkapan biasa, iaitu dalam kes ini perkataan "my_user_name ". Dengan memberikannya kepada nama_pengguna, kami telah mengekstrak corak yang diingini dengan berkesan daripada rentetan.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Corak Khusus daripada Data Teks dengan Python Regex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!