Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชัน search() ใน Python Regex (re.search)

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']  # เจอทั้งหมด