Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengekstrak teks campur tangan menggunakan ungkapan biasa?
Mencari Teks Intervensi dengan Ungkapan Biasa
Apabila memproses data teks, selalunya perlu untuk mengekstrak maklumat khusus berdasarkan corak yang telah ditetapkan. Satu alat yang berkuasa untuk tugas ini ialah ungkapan biasa, urutan aksara yang digunakan untuk memadankan rentetan teks mengikut peraturan yang ditetapkan. Dalam kes ini, kami menyasarkan untuk memadankan teks antara dua rentetan berbeza menggunakan ungkapan biasa.
Masalah:
Pertimbangkan teks berikut:
Part 1. Part 2. Part 3 then more text
Matlamat kami adalah untuk mencari rentetan "Bahagian 1" dan "Bahagian 3" dan mendapatkan semula semua di antaranya, iaitu ". Bahagian 2. ".
Penyelesaian:
Menggunakan Python 2x, kami boleh menggunakan modul semula dan memanfaatkan ungkapan biasa. Satu pendekatan ialah menggunakan fungsi carian semula:
import re s = 'Part 1. Part 2. Part 3 then more text' match = re.search(r'Part 1\.(.*?)Part 3', s) if match: print(match.group(1))
Kod ini mencari corak "Bahagian 1" diikuti oleh mana-mana aksara (diwakili oleh ".*?") dan berakhir dengan "Bahagian 3 ". Bahagian yang dipadankan, yang mengandungi teks perantaraan, disimpan dalam match.group(1) dan dicetak.
Pendekatan alternatif melibatkan penggunaan re.findall jika terdapat berbilang kejadian bagi corak yang ditentukan:
matches = re.findall(r'Part 1(.*?)Part 3', s) for match in matches: print(match)
Kod ini mendapatkan semula semua segmen yang sepadan antara "Bahagian 1" dan "Bahagian 3" dan mencetak setiap satu. Kedua-dua kaedah berkesan menggunakan ungkapan biasa untuk mengekstrak teks yang dikehendaki antara rentetan yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks campur tangan menggunakan ungkapan biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!