วิธีการ re.findall()
re.findall() ช่วยในการรับรายการรูปแบบที่ตรงกันทั้งหมด มันค้นหาจากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริงที่กำหนด ถ้าเราใช้วิธี findall เพื่อค้นหารูปแบบในสตริงที่กำหนด มันจะคืนค่ารูปแบบที่เกิดขึ้นทั้งหมด ขณะค้นหารูปแบบ ขอแนะนำให้ใช้ re.findall() เสมอ โดยจะทำงานเหมือน re.search() และ re.match() ทั้งคู่
ตัวอย่าง
import re result = re.search(r'TP', 'TP Tutorials Point TP') print result.group()
ผลลัพธ์
TP
เมธอด re.finditer()
re.finditer(รูปแบบ, สตริง, ธง=0)
ส่งคืนตัววนซ้ำที่ให้อินสแตนซ์ MatchObject สำหรับการจับคู่ที่ไม่ทับซ้อนกันทั้งหมดสำหรับรูปแบบ RE ในสตริง สตริงจะถูกสแกนจากซ้ายไปขวา และผลลัพธ์ที่ตรงกันจะถูกส่งคืนตามลำดับที่พบ การแข่งขันที่ว่างเปล่าจะรวมอยู่ในผลลัพธ์
โค้ดต่อไปนี้แสดงการใช้เมธอด re.finditer() ใน Python regex
ตัวอย่าง
import re s1 = 'Blue Berries' pattern = 'Blue Berries' for match in re.finditer(pattern, s1): s = match.start() e = match.end() print 'String match "%s" at %d:%d' % (s1[s:e], s, e)
ผลลัพธ์
Strings match "Blue Berries" at 0:12