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
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
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!