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

การทำงานของ Grouping ใน Regular Expression ของ Python

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 ได้