Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengekstrak Substrings Antara Penanda dalam Python Menggunakan Ungkapan Biasa?

Bagaimana untuk Mengekstrak Substrings Antara Penanda dalam Python Menggunakan Ungkapan Biasa?

Patricia Arquette
Lepaskan: 2024-12-07 01:42:10
asal
612 orang telah melayarinya

How to Extract Substrings Between Markers in Python Using Regular Expressions?

Pengekstrakan Substrands antara Penanda

Memandangkan rentetan dan sepasang penanda, tugasnya adalah untuk mengekstrak subrentetan antara penanda ini. Sebagai contoh, pertimbangkan rentetan 'gfgfdAAA1234ZZZuijjk'. Objektifnya adalah untuk mendapatkan bahagian '1234'.

Dalam Python, ungkapan biasa memberikan penyelesaian yang berkesan untuk masalah ini. Pertimbangkan coretan kod berikut:

import re

text = 'gfgfdAAA1234ZZZuijjk'

m = re.search('AAA(.+?)ZZZ', text)
if m:
    found = m.group(1)

# found: 1234
Salin selepas log masuk

Ungkapan 'AAA(. ?)ZZZ' sepadan dengan mana-mana subrentetan antara 'AAA' dan 'ZZZ'. Tanda kurung dalam ungkapan menangkap subrentetan sebagai kumpulan, dan '. ?' pengkuantiti memastikan bahawa ia sepadan dengan mana-mana bilangan aksara tanpa tamak.

Fungsi re.search() mencari kejadian pertama corak dalam teks dan mengembalikan objek padanan, yang mengandungi kumpulan yang ditangkap . Kaedah kumpulan(1) mengekstrak subrentetan antara penanda dan menetapkannya kepada pembolehubah yang ditemui.

Sebagai alternatif, blok try-except boleh mengendalikan kemungkinan ralat:

import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search('AAA(.+?)ZZZ', text).group(1)
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # Your error handling here

# found: 1234
Salin selepas log masuk

Pendekatan ini menjamin bahawa program akan terus berjalan walaupun penanda tidak terdapat dalam teks, kerana ia mengendalikan AttributeError yang berlaku apabila kaedah kumpulan(1) gagal.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Substrings Antara Penanda dalam Python Menggunakan Ungkapan Biasa?. 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