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

Repeating Character Classes ใน Python Regular Expression

Character class ที่ตามด้วยออปอเรเตอร์ ?, * หรือ + เรียกว่า repeating character classes

หากทำซ้ำ character class ด้วย ?, *, + จะทำซ้ำ คลาสทั้งหมด ไม่ใช่แค่ตัวอักษรที่จับคู่ได้ ตัวอย่าง [0-9]+ จับคู่ได้ทั้ง '579' และ '333'

หากต้องการทำซ้ำ ตัวอักษรที่จับคู่ได้ แทนที่จะเป็นคลาส ให้ใช้ backreferences เช่น ([0-9])\1+ จับคู่ '333' แต่ไม่จับคู่ '579' นำไปใช้กับสตริง "922226" จะจับคู่ '2222' กลางสตริง หากไม่ต้องการให้จับคู่กลาง ให้ใช้ lookahead และ lookbehind