re.search(pattern, string) ค้นหา pattern ทุกตำแหน่งในสตริง คืน Match object ของการจับคู่ ครั้งแรก ที่เจอ
ตัวอย่าง
>> import re >>> result = re.search(r'Tutorials', 'TP Tutorials Point TP') >>> result.group(0) 'Tutorials'
คุณสมบัติสำคัญ
- ค้นหา ทั้งสตริง (ไม่จำกัดที่ต้นสตริงเหมือน
match()) - คืน Match object แรก ที่เจอ (Leftmost match)
- หาไม่เจอ → คืน
None
เข้าถึงข้อมูล Match Object
>> m = re.search(r'(\w+)\s+(\w+)', 'Hello World')
>>> m.group(0) # ทั้งหมดที่จับคู่
'Hello World'
>>> m.group(1) # กลุ่มที่ 1
'Hello'
>>> m.group(2) # กลุ่มที่ 2
'World'
>>> m.groups() # ทุกกลุ่มเป็น tuple
('Hello', 'World')
>>> m.span() # (start, end) index
(0, 11)
>>> m.start(), m.end()
(0, 11)
re.search vs re.findall
>> re.search(r'\d+', 'abc 123 def 456').group() '123' # เจอแรกสุด >>> re.findall(r'\d+', 'abc 123 def 456') ['123', '456'] # เจอทั้งหมด