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