วิธี fullmatch ใน Regular Expressions ของ Python
วิธี fullmatch ตรวจสอบสตริง
ว่าตรงกับ Regular Expression ทุกส่วนหรือไม่ ในพารามิเตอร์แรก
ของเมธอด เราระบุ Regular Expression
ที่ต้องการค้นหา ในพารามิเตอร์ที่สอง
- สตริงที่เราจะค้นหา หากพบการตรงกัน
เมธอดจะคืนค่า match-object
มิฉะนั้น - None ไวยากรณ์ของ
เมธอด fullmatch มีลักษณะดังนี้:
re.fullmatch(what to search for, where to search)
ตัวอย่าง
ลองใช้เมธอด fullmatch กับ
สตริงของเรา:
txt = '123 456 789'
res = re.fullmatch('\d+', txt)
print(res)
หลังจากรันโค้ดจะแสดง None
เพราะนอกจากตัวเลขแล้ว ในสตริงยังมี
ช่องว่าง:
None
ตัวอย่าง
และตอนนี้ให้สตริงของเราประกอบด้วยเฉพาะ ตัวเลข:
txt = '123456'
res = re.fullmatch('\d+', txt)
print(res)
ผลลัพธ์ของการรันโค้ด:
<re.Match object; span=(0, 6), match='123456'>
ตัวอย่าง
จาก match-object สามารถดึงสตริงย่อยที่พบ มาได้ ในการทำเช่นนี้ จำเป็นต้องอ้างอิงถึง องค์ประกอบแรกของมัน:
txt = 'abcde'
res = re.fullmatch('\w+', txt)
print(res[0])
ผลลัพธ์ของการรันโค้ด:
'abcde'
โจทย์ฝึกปฏิบัติ
ตรวจสอบว่าสตริงต่อไปนี้ประกอบด้วย ตัวอักษรเท่านั้น:
txt = 'abcde'
ตรวจสอบว่าสตริงต่อไปนี้ประกอบด้วย ตัวเลขเท่านั้น:
txt = '12345'