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]]。减法适用于整个类。
虽然我们可以使用嵌套的字符类减法,但我们不能连续减去两个类。要从包含所有 Unicode 字母的类中减去 ASCII 字符和阿拉伯字符,可以将 ASCII 和阿拉伯字符合并为一个类,然后从该类中减去,例如 [\p{L}-[\p{IsBasicLatin}\p{IsArabic}]]。
极客教程