วิธี findall ใน Regular Expressions ของ Python
สำหรับการค้นหาความตรงทั้งหมดกับ Regex ใน
Python ใช้วิธี findall
ในพารามิเตอร์แรกของวิธีเราระบุ
Regex ที่เราต้องการค้นหา ในพารามิเตอร์ที่สอง
- สตริงสำหรับค้นหา วิธี
ตรวจสอบความตรงทั้งหมด โดยค้นหาจากซ้าย
ไปขวา มันคืนค่าลิสต์ของสตริงที่มี
ความตรงหรือลิสต์ของทูเพิล หากกำหนด
Regex สำหรับการค้นหาในกลุ่มย่อย (capturing groups) หาก
ไม่พบความตรง จะคืนค่าลิสต์ว่าง ไวยากรณ์ของวิธี findall
มีลักษณะดังนี้:
re.findall(what to search, where to search)
ลองค้นหาความตรงทั้งหมดกับ Regex ในสตริงนี้:
txt = '12 43 56 ab'
res = re.findall('\d+', txt)
print(res)
ผลลัพธ์ของการรันโค้ด:
['12', '43', '56']
กำหนดสตริง:
txt = '123 aaa 456 bbb 789'
แสดงลิสต์ของสตริงย่อยที่มีตัวเลข
กำหนดสตริง:
txt = 'abc 123 def 456 789'
แสดงลิสต์ของสตริงย่อยที่มีตัวอักษร