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

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


การจัดกลุ่ม

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

การจับกลุ่มและการอ้างอิงย้อนกลับ

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