Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Semua Padanan Pelbagai Ungkapan Biasa dalam Python?

Bagaimana untuk Mencari Semua Padanan Pelbagai Ungkapan Biasa dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-02 12:25:13717semak imbas

How to Find All Matches of Multiple Regular Expressions in Python?

Memadankan Berbilang Ungkapan Biasa dalam Python

Fungsi re.search() berguna untuk mencari kejadian pertama corak dalam rentetan . Walau bagaimanapun, jika anda perlu mencari semua padanan dalam teks tertentu, terdapat kaedah yang memenuhi tugas khusus ini.

Satu pilihan ialah re.findall, yang mengembalikan senarai yang mengandungi semua subrentetan yang sepadan dengan corak yang disediakan. Ia sesuai apabila anda ingin mengekstrak dan bekerja dengan padanan individu secara berurutan. Contohnya:

import re

text = 'This is a line with matching words: apple, orange and banana.'
matches = re.findall(r'apple|orange|banana', text)
print(matches)  # Output: ['apple', 'orange', 'banana']

Alternatif lain ialah re.finditer, yang menghasilkan objek MatchObject untuk setiap padanan. Objek ini memberikan maklumat terperinci tentang padanan, termasuk kedudukan dan kumpulan yang ditangkap. Ia sering digunakan apabila anda memerlukan kawalan yang lebih terperinci ke atas hasil yang sepadan. Contohnya:

import re

text = 'This is a line with matching words: apple, orange and banana. Apples are the best!'
for match in re.finditer(r'apple|orange|banana', text):
    print(match.group())  # Output: 'apple', 'orange', 'banana', 'apple' (last match)

Dengan menggunakan re.findall atau re.finditer, anda boleh mengenal pasti dan mendapatkan semula semua kejadian corak tertentu dalam rentetan dalam Python. Kaedah ini membolehkan anda memproses padanan sebagai koleksi atau mengulanginya untuk analisis yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Semua Padanan Pelbagai 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