Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengekstrak perkataan tertentu daripada teks menggunakan ungkapan biasa dalam Python?

Bagaimana untuk mengekstrak perkataan tertentu daripada teks menggunakan ungkapan biasa dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-11-12 14:45:02723semak imbas

How to Extract Specific Words from Text Using Regular Expressions in Python?

Menggunakan Ungkapan Biasa untuk Mengekstrak Padanan Corak dalam Python

Dalam Python, ungkapan biasa (regex) menawarkan cara yang berkuasa untuk memadankan dan mengekstrak data daripada rentetan. Satu kes penggunaan biasa ialah untuk mengenal pasti dan mendapatkan semula perkataan atau corak tertentu dalam teks yang lebih besar.

Pertimbangkan rentetan contoh:

someline abc
someother line
name my_user_name is valid
some more lines

Matlamat kami adalah untuk mengekstrak perkataan "nama_pengguna_saya" menggunakan ungkapan biasa.

Memadankan Corak

Langkah pertama ialah mencipta corak regex yang sepadan dengan yang dikehendaki corak. Dalam kes ini, kami ingin memadankan baris yang bermula dengan "nama", diikuti dengan mana-mana rentetan dan berakhir dengan "adalah sah." Kita boleh menggunakan regex berikut:

"name .* is valid"

Di sini, "nama" sepadan dengan perkataan literal "nama," ".*" sepadan dengan mana-mana jujukan aksara (termasuk ruang) dan "adalah sah" sepadan dengan rentetan literal. Kami menyusun corak menggunakan re.compile(), seperti yang ditunjukkan di bawah:

import re
s = """
someline abc
someother line
name my_user_name is valid
some more lines
"""
p = re.compile("name .* is valid")

Sekarang, kami boleh menggunakan corak yang disusun untuk mencari padanan dalam rentetan kami. Kaedah p.match(s) mengembalikan objek yang mewakili padanan pertama yang ditemui.

Mengekstrak Nama Pengguna

Setelah kita mempunyai objek padanan, kita boleh mengekstrak teks yang dikehendaki menggunakan kumpulan( ) kaedah. Nombor dalam kurungan menentukan kumpulan tangkapan yang hendak diambil. Dalam kes kami, hanya terdapat satu kumpulan tangkapan, yang dilambangkan dengan kumpulan(1):

match = p.match(s)  # finds the first match
print(match.group(1))  # prints "my_user_name"

Dengan menggunakan ungkapan biasa dan kaedah kumpulan(), kami boleh mengekstrak perkataan atau corak tertentu dengan cekap daripada yang lebih besar. set data teks.

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak perkataan tertentu daripada teks menggunakan ungkapan biasa dalam Python?. 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