Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

อะไรคือความแตกต่างระหว่าง re.search ของ Python และ re.match?


ทั้ง re.match() และ re.search() เป็นวิธีการของโมดูล Python อีกครั้ง

เมธอด re.match() จะค้นหาการจับคู่หากเกิดขึ้นที่จุดเริ่มต้นของสตริง ตัวอย่างเช่น การเรียก match() บนสตริง 'TP Tutorials Point TP' และมองหารูปแบบ 'TP' จะตรงกัน

ตัวอย่าง

import re
result = re.match(r'TP', 'TP Tutorials Point TP')
print result.group(0)

ผลลัพธ์

TP

เมธอด re.search() คล้ายกับ re.match() แต่ไม่จำกัดให้เราค้นหารายการที่ตรงกันที่จุดเริ่มต้นของสตริงเท่านั้น

ตัวอย่าง

import re
result = re.search(r'Tutorials', 'TP Tutorials Point TP')
print result.group(0)

ผลลัพธ์

Tutorials

คุณจะเห็นได้ว่าเมธอด search() สามารถค้นหารูปแบบจากตำแหน่งใดก็ได้ของสตริง