Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Corak Khusus daripada Data Teks dengan Python Regex?

Bagaimana untuk Mengekstrak Corak Khusus daripada Data Teks dengan Python Regex?

Susan Sarandon
Susan Sarandonasal
2024-11-28 14:21:16854semak imbas

How to Extract Specific Patterns from Text Data with 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn