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