Python - ค้นหาและจับคู่
การใช้นิพจน์ทั่วไปมีการดำเนินการพื้นฐานสองอย่างที่ดูเหมือนกัน แต่มีความแตกต่างอย่างมีนัยสำคัญ re.match() ตรวจสอบการจับคู่เฉพาะที่จุดเริ่มต้นของสตริงในขณะที่ re.search()ตรวจสอบการจับคู่ที่ใดก็ได้ในสตริง สิ่งนี้มีบทบาทสำคัญในการประมวลผลข้อความบ่อยครั้งที่เราต้องเขียนนิพจน์ทั่วไปที่ถูกต้องเพื่อดึงเอาส่วนของข้อความมาวิเคราะห์ด้วยอารมณ์เป็นตัวอย่าง
import re
if re.search("tor", "Tutorial"):
print "1. search result found anywhere in the string"
if re.match("Tut", "Tutorial"):
print "2. Match with beginning of string"
if not re.match("tor", "Tutorial"):
print "3. No match with match if not beginning"
# Search as Match
if not re.search("^tor", "Tutorial"):
print "4. search as match"
เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -
1. search result found anywhere in the string
2. Match with beginning of string
3. No match with match if not beginning
4. search as match