嵌套字符类减法在Python中如何工作?

嵌套字符类减法

由于我们可以在减去的字符类中使用完整的字符类语法,因此我们可以从要减去的类中减去一个类。[0-9- [0-7- [0-3]]]首先从0-7减去0-3,得出[0-9- [4-7]]或[0-38-9],匹配字符串012389中的任何字符。

类减法始终是字符类中的最后一个元素。[0-9- [4-7] ad]不是有效的正则表达式。应该将其重写为[0-9a-d- [4-7]]。减法适用于整个班级。 

虽然我们可以使用嵌套字符类减法,但不能顺序地减去两个类。要从具有所有Unicode字母的类中减去ASCII字符和阿拉伯字符,请将ASCII和阿拉伯字符组合为一个类,然后将其减去,如[\ p {L}-[\ p {IsBasicLatin} \ p {IsArabic}] ]。