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

เราจะใช้กลุ่มที่มีชื่อ Python Regular Expression ได้อย่างไร


กลุ่มที่มีชื่อ

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

โมดูล re ของ Python เป็นคนแรกที่คิดวิธีแก้ปัญหา:ตั้งชื่อกลุ่มดักจับและตั้งชื่อ backreferences (?Pgroup) จับการจับคู่ของกลุ่มลงใน backreference "name" ชื่อต้องเป็นลำดับตัวอักษรและตัวเลขที่ขึ้นต้นด้วยตัวอักษร กลุ่มสามารถเป็นนิพจน์ทั่วไปใดก็ได้ คุณสามารถอ้างอิงเนื้อหาของกลุ่มโดยใช้ชื่อ backreference (?P=name) เครื่องหมายคำถาม P วงเล็บเหลี่ยม และเครื่องหมายเท่ากับ ล้วนเป็นส่วนหนึ่งของไวยากรณ์ แม้ว่าไวยากรณ์สำหรับ backreference ที่มีชื่อจะใช้วงเล็บ แต่ก็เป็นเพียง backreference ที่ไม่ได้ทำการจับภาพหรือจัดกลุ่มใดๆ ตัวอย่างแท็ก HTML สามารถเขียนเป็น <(?P[A-Z][A-Z0-9]*)\b[^>]*>.*?.