มี 2 ประเภทของ Operation ที่ทำได้ด้วย regex คือ (a) Search และ (b) Match เพื่อใช้ Regex ได้อย่างมีประสิทธิภาพขณะหา Pattern และ Match กับ Pattern เราสามารถใช้ฟังก์ชัน 2 ตัวนี้ได้
สมมติว่าเรามี String regex match() ตรวจสอบ Pattern เฉพาะที่ต้นทางของ String ในขณะที่ regex search() ตรวจสอบ Pattern ทุกที่ใน String ฟังก์ชัน match() จะคืนค่า Match Object หากเจอ Pattern มิฉะนั้นคืนค่า None
- match() – หา Pattern เฉพาะต้น String และคืนค่า Matched Object
- search() – ตรวจสอบ Pattern ทุกที่ใน String และคืนค่า Matched Object
ในตัวอย่างนี้ เรามี String และต้องการหาคำว่า 'engineer' ใน String นี้
ตัวอย่าง match()
import re
pattern = "Engineers"
string = "Scientists dream about doing great things. Engineers Do them"
result = re.match(pattern, string)
if result:
print("Found")
else:
print("Not Found")
การรันโค้ดนี้จะพิมพ์ผลลัพธ์เป็น:
ผลลัพธ์
Not Found
ตอนนี้ลองใช้ตัวอย่างข้างต้นสำหรับ Search:
ตัวอย่าง search()
import re
pattern = "Engineers"
string = "Scientists dream about doing great things. Engineers Do them"
result = re.search(pattern, string)
if result:
print("Found")
else:
print("Not Found")
การรันโค้ดข้างต้นจะพิมพ์ผลลัพธ์เป็น:
ผลลัพธ์
Found