Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Regex boleh digunakan untuk mengekstrak subrentetan antara dua substring yang telah ditetapkan dalam rentetan Python?

Bagaimanakah Regex boleh digunakan untuk mengekstrak subrentetan antara dua substring yang telah ditetapkan dalam rentetan Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 05:43:02684semak imbas

How can Regex be used to extract a substring between two predetermined substrings in a Python string?

Mencari Rentetan dengan Regex

Mendapatkan semula subrentetan antara dua subrentetan yang telah ditetapkan dalam rentetan ialah tugas pengaturcaraan biasa. Satu pendekatan melibatkan pemisahan rentetan input dengan subrentetan permulaan dan akhir. Teknik ini, walaupun berfungsi, mungkin tidak optimum dari segi kecekapan dan mungkin menghalang kebolehbacaan kod.

Penyelesaian yang lebih Pythonic dan cekap ialah menggunakan ungkapan biasa (regex). Ungkapan regex membenarkan padanan dan pengekstrakan rentetan yang berkuasa. Sebagai contoh, ungkapan regex berikut mencapai matlamat kami:

import re

s = 'asdf=5;iwantthis123jasd'
result = re.search('asdf=5;(.*)123jasd', s)
print(result.group(1))

Ungkapan bermula dengan memadankan subrentetan mula 'asdf=5;', diikuti oleh kumpulan (.*), yang menangkap semua aksara antara mula dan tamat subrentetan. Akhir sekali, ia sepadan dengan subrentetan akhir '123jasd' untuk mengehadkan kawasan tangkapan.

Hasilnya.kumpulan(1) mendapatkan semula rentetan yang ditangkap, iaitu subrentetan yang dikehendaki. Menggunakan regex untuk tugasan ini menyediakan pendekatan Pythonic yang ringkas berbanding kaedah pemisahan.

Atas ialah kandungan terperinci Bagaimanakah Regex boleh digunakan untuk mengekstrak subrentetan antara dua substring yang telah ditetapkan dalam rentetan Python?. 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