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

การจัดกลุ่มนิพจน์ทั่วไปทำงานอย่างไรใน Python


การจัดกลุ่ม

เราจัดกลุ่มส่วนของนิพจน์ทั่วไปโดยล้อมด้วยวงเล็บ นี่คือวิธีที่เราใช้โอเปอเรเตอร์กับกลุ่มทั้งหมดแทนที่จะเป็นอักขระตัวเดียว

การจับกลุ่ม

วงเล็บไม่เพียงแต่นิพจน์ย่อยของกลุ่ม แต่ยังสร้างการอ้างอิงย้อนกลับอีกด้วย ส่วนของสตริงที่จับคู่โดยส่วนที่จัดกลุ่มของนิพจน์ทั่วไป จะถูกเก็บไว้ใน 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']