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

การลบคลาสอักขระที่ซ้อนกันทำงานอย่างไรใน Python


การลบคลาสอักขระที่ซ้อนกัน

เนื่องจากเราสามารถใช้ไวยากรณ์คลาสอักขระแบบเต็มภายในคลาสอักขระที่ถูกลบ เราจึงสามารถลบคลาสออกจากคลาสที่กำลังถูกลบ [0-9-[0-7-[0-3]]] แรกลบ 0-3 จาก 0-7 ให้ [0-9-[4-7]] หรือ [0-38-9] ซึ่ง ตรงกับอักขระใดๆ ในสตริง 012389

การลบคลาสจะเป็นองค์ประกอบสุดท้ายในคลาสอักขระเสมอ [0-9-[4-7]a-d] ไม่ใช่นิพจน์ทั่วไปที่ถูกต้อง ควรเขียนใหม่เป็น [0-9a-d-[4-7]] การลบใช้ได้กับทั้งชั้นเรียน

แม้ว่าเราจะใช้การลบคลาสอักขระที่ซ้อนกันได้ แต่เราไม่สามารถลบสองคลาสตามลำดับได้ หากต้องการลบอักขระ ASCII และอักขระอารบิกออกจากคลาสที่มีตัวอักษร Unicode ทั้งหมด ให้รวมอักขระ ASCII และอารบิกเป็นหนึ่งคลาส แล้วลบออก เช่นเดียวกับใน [\p{L}-[\p{IsBasicLatin}\p{IsArabic}] ].