Grouping (การจัดกลุ่ม)
จัดกลุ่มส่วนหนึ่งของ regex โดยล้อมรอบด้วยวงเล็บ () เพื่อให้ออเปอเรเตอร์ทำงานกับกลุ่มทั้งหมด แทนที่จะเป็นอักขระเดี่ยว
Capturing Groups (กลุ่มจับคู่)
วงเล็บไม่เพียงจัดกลุ่มย่อย แต่ยังสร้าง backreferences ส่วนของสตริงที่จับคู่ด้วยส่วนที่จัดกลุ่ม จะถูกเก็บไว้ใน backreference ช่วยให้เราสามารถนำส่วนที่จับคู่มาใช้ซ้ำได้
การประยุกต์ใช้: Alternation และ Quantifier กับกลุ่ม
Regex aircraft|airplane|jet จับคู่ aircraft หรือ airplane หรือ jet ทำได้เหมือนกันด้วย air(craft|plane)|jet โดย quantifier สามารถนำไปใช้กับกลุ่มทั้งหมดได้
ตัวอย่าง: จับคู่คำ (word characters)
import re s = 'Tahiti $% Tahiti *&^ 34 Atoll' result = re.findall(r'(\w+)', s) print(result)
ผลลัพธ์
['Tahiti', 'Tahiti', '34', 'Atoll']
คำอธิบาย: (\w+) จับคู่ลำดับอักขระคำ (word characters) 1 ตัวขึ้นไป และ capture ไว้ในกลุ่มที่ 1 findall() คืนค่าของกลุ่มที่ capture ได้