Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Memadankan Blok Teks Berbilang Baris dengan Ungkapan Biasa Python: Menangkap Komponen Huruf Kecil dan Huruf Besar?
Memadankan Blok Teks Berbilang Baris dengan Ungkapan Biasa Python
Dalam soalan pengaturcaraan ini, kami menyasarkan untuk memadankan format teks tertentu yang merangkumi berbilang baris . Teks input terdiri daripada blok berselang-seli bagi teks huruf kecil dan huruf besar, dengan teks huruf kecil mewakili komponen asas, dan teks huruf besar mewakili urutan asid amino.
Pernyataan Masalah
Tugasnya ialah untuk mencipta ungkapan biasa dalam Python yang boleh menangkap dua komponen daripada teks input:
Output hendaklah dibahagikan kepada dua kumpulan tangkapan, dengan komponen huruf kecil asas dalam kumpulan(1) dan urutan huruf besar dalam kumpulan(2).
Penyelesaian
Untuk menyelesaikan masalah ini, kita boleh menggunakan ungkapan biasa berikut:
re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
Rex ini beroperasi dalam mod berbilang baris, bermakna ^ dan $ sauh akan sepadan dengan permulaan dan akhir baris, masing-masing.
Penjelasan
n((?:n. ) ): Memadankan baris berturut-turut teks huruf besar yang mengikut komponen asas.
Penggunaan
Untuk menggunakan regex ini, anda boleh mengikuti langkah berikut:
import re text = """ some Varying TEXT ... [lines of uppercase text] ... """ regex = re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE) match = regex.search(text) if match: lowercase_text = match.group(1) uppercase_text = match.group(2) # Process the captured text as needed
Atas ialah kandungan terperinci Bagaimana Memadankan Blok Teks Berbilang Baris dengan Ungkapan Biasa Python: Menangkap Komponen Huruf Kecil dan Huruf Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!