Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Cari Semua Padanan Ungkapan Biasa dalam Python?

Bagaimanakah Saya Boleh Cari Semua Padanan Ungkapan Biasa dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 13:02:10984semak imbas

How Can I Find All Matches of a Regular Expression in Python?

Mencari Padanan Berbilang dengan Ungkapan Biasa dalam Python

Apabila mencari padanan ungkapan biasa dalam teks, fungsi re.search() hanya akan mengenal pasti kejadian pertama. Untuk mencari semua contoh corak, terokai pilihan alternatif yang memenuhi berbilang padanan.

Menggunakan re.findall

Fungsi re.findall mengambil dua argumen: corak ungkapan biasa dan rentetan sasaran . Ia mengembalikan senarai semua padanan tidak bertindih yang terdapat dalam rentetan.

import re

matches = re.findall(r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats')
print(matches)  # ['cats', 'dogs']

Menggunakan re.finditer

Pilihan lain ialah re.finditer, yang mengembalikan iterator ke atas objek MatchObject.

for match in re.finditer(r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats'):
    print(match.group())  # 'all cats are', 'all dogs are'

Kaedah ini membolehkan anda memproses semua padanan dalam rentetan tertentu, memberikan fleksibiliti apabila bekerja dengan biasa ungkapan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Semua Padanan Ungkapan Biasa dalam 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