Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Perbezaan Utama Antara `re.match` dan `re.search` Python?
Memahami Perbezaan Utama Antara re.match dan re.match
Dalam modul semula Python, padanan() dan carian() berfungsi memainkan peranan yang berbeza dalam padanan corak. Perbezaan utama terletak pada titik anchornya.
re.match
Fungsi match() mengesahkan jika corak wujud pada permulaan rentetan input. Ia tidak mengambil kira rentetan yang lain, memastikan bahawa perlawanan berlaku secara eksklusif pada permulaan. Ini bermakna walaupun corak muncul di tempat lain dalam rentetan, re.match tidak akan mengembalikan hasil.
re.search
Sebaliknya, re.search memeriksa keseluruhan rentetan input, mencari sebarang kejadian corak. Ia mengembalikan objek padanan jika corak ditemui di mana-mana dalam rentetan. Fungsi ini kurang ketat berbanding re.match, kerana ia tidak memerlukan corak untuk memulakan rentetan.
Pertimbangan Utama
Apabila memilih fungsi yang hendak digunakan, pertimbangkan yang berikut:
Contoh Dunia Sebenar
Kepada menggambarkan perbezaannya, mari kita pertimbangkan rentetan berikut:
"This is a sentence with multiple words."
Menggunakan re.match dengan corak "This" akan berjaya, manakala menggunakan re.search juga akan berjaya kerana "This" muncul pada permulaan rentetan. Walau bagaimanapun, jika kita mencari corak "dengan," hanya re.search akan mengembalikan hasil kerana "dengan" tidak memulakan rentetan.
Sekarang, mari kita pertimbangkan rentetan dengan baris baharu:
"Line 1\nLine 2"
Menggunakan re.match("^Line 2", string, re.MULTILINE) akan gagal kerana "^" berlabuh pada permulaan rentetan dan tidak sepadan selepas baris baharu. Walau bagaimanapun, re.search("^Line 2", string, re.MULTILINE) akan berjaya kerana re.search tidak mempunyai kekangan kedudukan yang sama.
Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara `re.match` dan `re.search` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!