Отвечая на мой вопрос после поиска исходного кода.
В исходном коде Python _sre.c
Определение LOCALE Space это -
#define SRE_LOC_IS_SPACE(ch) (!((ch) & ~255) ? isspace((ch)) : 0)
А определение категории NON_SPACE - это отрицание пробела. Вот и все.
Теперь, учитывая это определение, мы видим, что для значений символов, превышающих 255, проверка вообще не производится. Просто ли ascii isspace рассматривается, когда установлен флаг LOCALE. И действительно, флаг re.LOCALE не оказывает дополнительного влияния на сопоставление пробела или непробельного символа.
Для Unicode логика рассматривается в unicodeobject.c
, и я вижу, что это просто супер-набор пробелов ascii. Все символы пробела ascii также являются символами юникода.
Учитывая это, невозможно написать программу на Python. где вы можете проверить наличие «исключительного пробела в локали или юникоде», исключая пробелы ascii.