การใช้ group ในเมธอด search ของ Python ในการจับกลุ่ม
วิธีทางเลือกในการทำงานกับกลุ่ม
คือการใช้เมธอด group
ในพารามิเตอร์ของมันจะระบุหมายเลขของกลุ่ม
ที่ต้องการแสดงผล ถ้าในพารามิเตอร์
ระบุ 0 หรือปล่อยให้ว่างเปล่า
จะคืนค่าสตริงย่อยทั้งหมดที่ตรงกับ
นิพจน์ปกติ
สมมติว่าเรามีสตริง:
txt = '123 456 789'
ลองดึงข้อมูลการจับคู่แรกจากมัน
ด้วยตัวเลขที่กำหนดโดยนิพจน์ปกติของเมธอด search
จากนั้นใส่สตริงย่อยลงในสามกลุ่ม
แต่ละกลุ่มจะแสดงผลด้วยเมธอด group:
res = re.search('(\d+)(\d+)(\d+)', txt)
print(res.group(0)) # จะแสดง '123'
print(res.group(1)) # จะแสดง '1'
print(res.group(2)) # จะแสดง '2'
print(res.group(3)) # จะแสดง '3'
กำหนดสตริง:
txt = 'username:john'
ใส่ 'username:' ลงในกลุ่มแรก
และ 'john' ลงในกลุ่มที่สอง แสดงผล
กลุ่มทั้งหมดในคอนโซล
กำหนดสตริง:
txt = '123 aaabbbccc'
แยกอักขระตัวอักษรทั้งหมดออกเป็นสาม
กลุ่ม โดยให้สตริงย่อยที่ประกอบด้วย
ตัวอักษร 'a' อยู่ในกลุ่มแรก
'b' อยู่ในกลุ่มที่สอง 'c' อยู่ใน
กลุ่มที่สาม แสดงผลกลุ่มทั้งหมดในคอนโซล