วิธีการ search ใน Regular Expressions ของ Python
ในบทเรียนก่อนหน้านี้เราได้ศึกษา regex ด้วยเมธอดสำหรับการค้นหาและแทนที่ นอกจากนั้นยังมีเมธอดอื่นๆ อีก ในบทเรียนนี้ เราจะเริ่มศึกษามัน
เมธอดใหม่ที่เราจะศึกษามีชื่อว่า
search มันใช้ค้นหาการจับคู่ครั้งแรก
กับ regex ในสตริง ในพารามิเตอร์แรก
ของเมธอดต้องระบุ regex ที่
ต้องการค้นหา ในพารามิเตอร์ที่สอง - สตริง
ที่ต้องการค้นหา เมธอดตรวจสอบการจับคู่
โดยการเดินผ่านสตริงจากซ้ายไปขวา
ผลลัพธ์ที่เมธอดคืนค่าคือ match object พิเศษ ซึ่งประกอบด้วยข้อมูล เกี่ยวกับสตริงย่อยที่พบและตำแหน่งของมันใน สตริงต้นฉบับ
มาลองปฏิบัติกัน ลองหา
สตริงย่อยแรกที่เป็นตัวเลขด้วยเมธอด
search:
txt = 'aaa 123 bbb 456'
res = re.search('\d+', txt)
ลองหาสตริงย่อยแรกที่เป็นตัวเลข
ด้วยเมธอด search:
print(res) # จะได้ match object
ทีนี้มาแสดงข้อความที่พบ มันจะอยู่ ในองค์ประกอบที่ศูนย์ของ match object:
print(res[0]) # จะแสดง '123'
กำหนดสตริง:
txt = '123 abc 456 cde'
จงหาสตริงย่อยแรก ที่มีเพียง ตัวอักษรเท่านั้น แสดงผลมันในคอนโซล
กำหนดสตริง:
txt = '1 23 456 789'
จงหาตำแหน่งของตัวเลขแรก ที่ประกอบด้วย เลขสามหลัก