Ketahui Perbezaannya: re.search vs. re.match
Modul semula Python menawarkan dua fungsi penting, re.match dan re. .cari, untuk memanfaatkan kuasa ungkapan biasa. Tetapi apakah yang membezakan fungsi ini? Memahami peranan mereka yang berbeza adalah penting untuk manipulasi rentetan yang berkesan.
re.match: Cari Permulaan
Jika anda mencari padanan pada awal rentetan , re.match ialah fungsi pilihan anda. Ia meneliti rentetan untuk mengenal pasti padanan pada kedudukan permulaannya, memastikan corak ungkapan biasa sejajar dengan aksara pembukaan. Tidak seperti ^, yang sepadan dengan permulaan rentetan, re.match menambat padanan secara khusus pada permulaan rentetan.
re.search: Teroka Keseluruhan Rentetan
Dalam Sebaliknya, re.search memulakan penerokaan menyeluruh rentetan, mencari mana-mana kedudukan di mana corak ungkapan biasa menemui padanan. Sifat pengimbasannya bermakna ia boleh mencari padanan di mana-mana dalam rentetan, menawarkan fleksibiliti yang lebih besar berbanding padanan semula.
Kes Penggunaan dan Prestasi
Jika anda perlu mengesahkan sama ada rentetan mematuhi corak tertentu pada permulaannya atau sepadan dengan corak secara keseluruhannya, re.match memberikan prestasi yang lebih pantas kerana pendekatan yang disasarkan. Untuk carian yang lebih luas merentas rentetan, re.search ialah alat yang ideal.
Penjelasan Contoh
Untuk menggambarkan perbezaannya, pertimbangkan rentetan dengan baris baharu dan carian untuk corak "someother":
string_with_newlines = """something someotherthing""" print(re.match('some', string_with_newlines)) # Matches print(re.match('someother', string_with_newlines)) # Doesn't match
Di sini, re.match gagal mencari "someother" kerana ia tidak bermula pada permulaan rentetan.
print(re.search('someother', string_with_newlines)) # Finds "someother"
Menggunakan re.search memintas kekangan ini dan berjaya mengesan padanan di mana-mana dalam rentetan.
Atas ialah kandungan terperinci re.match vs. re.search: Bila Menggunakan Fungsi Ekspresi Biasa Python Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!