Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Substrings Antara Penanda dalam Python Menggunakan Ungkapan Biasa?

Bagaimanakah Saya Boleh Mengeluarkan Substrings Antara Penanda dalam Python Menggunakan Ungkapan Biasa?

Susan Sarandon
Susan Sarandonasal
2024-12-02 16:32:111012semak imbas

How Can I Extract Substrings Between Markers in Python Using Regular Expressions?

Padanan Subrentetan Antara Penanda dalam Python

Apabila bekerja dengan rentetan dalam Python, anda mungkin menghadapi keperluan untuk mengekstrak subrentetan tertentu yang terletak di antara dua penanda yang diketahui. Tugasan ini boleh dicapai menggunakan ungkapan biasa, alat yang berkuasa untuk pemadanan corak.

Penyelesaian Menggunakan Ungkapan Biasa

Untuk mengekstrak subrentetan antara penanda dalam Python, ikuti langkah ini :

  1. Import modul semula untuk kefungsian ekspresi biasa.
  2. Gunakan kaedah re.search() untuk mencari corak yang sepadan dengan penanda dan subrentetan yang diminati.
  3. Jika corak ditemui, dapatkan semula subrentetan yang dipadankan menggunakan kaedah kumpulan().
  4. Tetapkan subrentetan yang diekstrak kepada pembolehubah untuk selanjutnya gunakan.

Contoh

Pertimbangkan coretan kod berikut:

import re

text = 'gfgfdAAA1234ZZZuijjk'

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

# found: '1234'

Dalam contoh ini, teks rentetan mengandungi subrentetan minat, yang terletak di antara penanda "AAA" dan "ZZZ". Menggunakan fungsi re.search(), kami mencari corak 'AAA(. ?)ZZZ'. (. ?)部分匹配零个或更多字符,尽可能短。

Jika corak ditemui, kami mendapatkan semula subrentetan yang dipadankan menggunakan m.group(1) dengan 1 menunjukkan kumpulan penangkapan pertama coraknya. Subrentetan yang diekstrak kemudiannya disimpan dalam pembolehubah yang ditemui.

Sebagai alternatif, anda boleh menggunakan pendekatan berikut:

import re

text = 'gfgfdAAA1234ZZZuijjk'

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

# found: '1234'

Pendekatan ini mengendalikan kes di mana penanda tidak ditemui dalam rentetan asal dengan menyediakan tingkah laku lalai dalam blok kecuali.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Substrings Antara Penanda dalam Python Menggunakan Ungkapan Biasa?. 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