Memadankan Teks Antara Rentetan Menggunakan Ungkapan Biasa
Apabila bekerja dengan data teks, selalunya perlu untuk mengekstrak bahagian tertentu berdasarkan corak atau sempadan yang telah ditetapkan . Satu alat yang berkuasa untuk tugasan tersebut ialah ungkapan biasa, membolehkan manipulasi teks yang tepat dan cekap.
Pertimbangkan masalah mengekstrak teks antara dua rentetan tertentu. Diberi rentetan seperti "Bahagian 1. Bahagian 2. Bahagian 3 kemudian lebih banyak teks," matlamatnya adalah untuk mencari dan menangkap teks antara "Bahagian 1" dan "Bahagian 3."
Ungkapan Biasa Approach
Python menyediakan perpustakaan ekspresi biasa yang komprehensif yang boleh digunakan untuk menyelesaikan masalah ini. Berikut ialah penyelesaian langkah demi langkah:
Tentukan Ungkapan Biasa (regex):
import re regex = r'Part 1\.(.*?)Part 3'
Reeks ini menentukan bahawa kita' semula mencari "Bahagian 1" diikuti dengan sebarang bilangan aksara (diwakili oleh ".*?") sebelum rentetan "Bahagian 3."
Buat Objek Corak:
pattern = re.compile(regex)
Lakukan Padanan Corak:
match_obj = pattern.search(string)
Dapatkan Padanan Teks:
if match_obj: matched_text = match_obj.group(1)
Kaedah "kumpulan(1)" mengekstrak teks yang ditangkap dalam kurungan dalam regex.
Contoh Penggunaan :
Memandangkan rentetan "Bahagian 1. Bahagian 2. Bahagian 3 kemudian lebih banyak teks," output kod itu ialah:
matched_text = '. Part 2. '
Pendekatan Alternatif:
Jika terdapat berbilang kejadian corak, anda boleh menggunakan fungsi "re.findall" dan bukannya "re.search" untuk mendapatkan senarai semua padanan.
match_list = re.findall(r'Part 1\.(.*?)Part 3', string)
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks antara rentetan menggunakan ungkapan biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!