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
Lepaskan: 2024-12-02 16:32:11
asal
986 orang telah melayarinya

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

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

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!

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