Bagaimana Memadankan Blok Teks Berbilang Baris dengan Ungkapan Biasa Python: Menangkap Komponen Huruf Kecil dan Huruf Besar?

DDD
Lepaskan: 2024-10-25 09:56:28
asal
413 orang telah melayarinya

How to Match Multiline Text Blocks with Python Regular Expressions: Capturing Lowercase and Uppercase Components?

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:

  1. Komponen huruf kecil asas
  2. Jujukan baris huruf besar yang muncul dua baris di bawahnya

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)
Salin selepas log masuk

Rex ini beroperasi dalam mod berbilang baris, bermakna ^ dan $ sauh akan sepadan dengan permulaan dan akhir baris, masing-masing.

Penjelasan

  • ^(. )$: Memadankan komponen huruf kecil asas sendiri baris.
  • n((?:n. ) ): Memadankan baris berturut-turut teks huruf besar yang mengikut komponen asas.

    • n: Padan dengan watak suapan baris.
    • (?:n. ) : Kumpulan tidak menangkap yang sepadan dengan satu atau lebih kejadian suapan baris diikuti oleh satu atau lebih aksara bukan ruang putih ( ).

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!