Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengekstrak teks antara rentetan dengan ungkapan biasa dalam Python?

Bagaimana untuk mengekstrak teks antara rentetan dengan ungkapan biasa dalam Python?

DDD
DDDasal
2024-10-21 20:08:02992semak imbas

How to Extract Text Between Strings with Regular Expressions in Python?

Mengekstrak Teks Antara Rentetan Menggunakan Ungkapan Biasa

Dalam Python, anda boleh memanfaatkan ungkapan biasa untuk mengekstrak teks yang terletak di antara dua rentetan tertentu dalam rentetan yang lebih besar rentetan. Pertimbangkan contoh berikut:

"Part 1. Part 2. Part 3 then more text"

Objektif anda adalah untuk mengasingkan teks antara "Bahagian 1" dan "Bahagian 3," iaitu ". Bahagian 2. ". Untuk mencapai matlamat ini, anda boleh menggunakan fungsi re.search():

<code class="python">import re
s = 'Part 1. Part 2. Part 3 then more text'
match = re.search(r'Part 1\.(.*?)Part 3', s)
if match:
    text_between = match.group(1)
    print(text_between)</code>

Dalam kes ini, ungkapan biasa r'Bahagian 1.(.*?)Bahagian 3' menetapkan ".*?" sebagai kumpulan tangkap. "?" memastikan kumpulan ini tidak tamak, bermakna ia akan menangkap rentetan terpendek mungkin yang memenuhi ungkapan biasa. .* sepadan dengan mana-mana watak dan . mewakili mana-mana aksara kecuali baris baharu.

Jika wujud berbilang kejadian, anda boleh menggunakan re.findall() sebaliknya:

<code class="python">matches = re.findall(r'Part 1(.*?)Part 3', s)
for match in matches:
    print(match)</code>

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks antara rentetan dengan ungkapan biasa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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