Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menangkap Blok Teks Berbilang Baris dengan Ungkapan Biasa dalam Python?
Ungkapan Biasa untuk Memadankan Blok Teks Berbilang Baris
Dalam Python, pemadanan teks merentas berbilang baris mungkin mencabar. Artikel ini menyediakan penyelesaian ringkas untuk menangkap blok berbilang baris dan kumpulan baris yang berkaitan dengannya.
Pertimbangkan format teks berikut:
some Varying TEXT DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF [more of the above, ending with a newline] [yep, there is a variable number of lines here] (repeat the above a few hundred times).
Matlamatnya ialah untuk menangkap dua kumpulan: "beberapa TEKS Bervariasi " baris dan baris huruf besar seterusnya (tanpa baris baharu) dalam satu kumpulan tangkapan.
Lösungsansatz
re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
Erläuterung
Beispiel
text = "some Varying TEXT\nDSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n[more of the above]\n[yep, there is a newline]\n(repeat the above)." match = re.match(r"^(.+)\n((?:\n.+)+)", text, re.MULTILINE) print(match.group(1)) # "some Varying Text" print(match.group(2)) # "DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n[more of the above]\n[yep, there is a newline]"
Pendekatan ini menggunakan modul semula Python dan pilihan MULTILINEnya untuk membolehkan padanan berbilang baris dan mengelakkan masalah berlabuh.
Atas ialah kandungan terperinci Bagaimana untuk Menangkap Blok Teks Berbilang Baris dengan Ungkapan Biasa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!