Nested Character Class Subtraction
เนื่องจากใช้ syntax คลาสเต็มรูปแบบได้ภายในคลาสที่ถูกลบ จึงสามารถลบคลาสออกจากคลาสที่กำลังถูกลบได้
ตัวอย่าง: [0-9-[0-7-[0-3]]] ลบ 0-3 จาก 0-7 ได้ [0-9-[4-7]] หรือ [0-38-9] จับคู่ตัวอักษรในสตริง "012389"
Class subtraction ต้องเป็น element สุดท้ายของ character class เท่านั้น [0-9-[4-7]a-d] ไม่ถูกต้อง ต้องเขียนเป็น [0-9a-d-[4-7]] การลบทำงานกับคลาสทั้งหมด
แม้จะใช้ nested subtraction ได้ แต่ ไม่สามารถลบสองคลาสตามลำดับได้ หากต้องการลบ ASCII และ Arabic จากคลาส Unicode letters ทั้งหมด ให้รวม ASCII และ Arabic เป็นคลาสเดียว แล้วลบครั้งเดียว: [\p{L}-[\p{IsBasicLatin}\p{IsArabic}]]