Bagaimana untuk mengekstrak teks campur tangan menggunakan ungkapan biasa?

Mary-Kate Olsen
Lepaskan: 2024-10-21 20:05:29
asal
616 orang telah melayarinya

How to Extract Intervening Text Using Regular Expressions?

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

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

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

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!

sumber:php
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!