การจัดกลุ่ม
เราจัดกลุ่มส่วนของนิพจน์ทั่วไปโดยใส่ไว้ในวงเล็บ วิธีนี้เราใช้โอเปอเรเตอร์กับกลุ่มแทนอักขระตัวเดียว
การจับกลุ่มและการอ้างอิงย้อนกลับ
วงเล็บไม่เพียงแต่นิพจน์ย่อยของกลุ่ม แต่ยังสร้างการอ้างอิงย้อนกลับอีกด้วย ส่วนของสตริงที่จับคู่โดยส่วนที่จัดกลุ่มของนิพจน์ทั่วไป จะถูกเก็บไว้ใน backreference ด้วยการใช้ backreferences เราจะนำส่วนของนิพจน์ทั่วไปกลับมาใช้ใหม่
หากนิพจน์ย่อยอยู่ในวงเล็บ สามารถเข้าถึงได้ด้วย \1 หรือ $1 เป็นต้น
ตัวอย่างเช่น regex \b(\w+)\b\s+\1\b จับคู่คำที่ซ้ำกัน เช่น tahiti tahiti เนื่องจากวงเล็บใน (\w+) จับคำไปยัง Group 1 แล้ว back-reference \1 ตรงกับอักขระที่ถูกจับโดยกลุ่ม 1
ตัวอย่าง
import re s ='Tahiti Tahiti Atoll' result =re.findall(r'\b(\w+)\b\s+\1\b', s) พิมพ์ผล
ผลลัพธ์
ให้ผลลัพธ์
['Tahiti']