Список допустимых символов XML хорошо известен, как определено спецификацией:
#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
Мой вопрос заключается в том, возможно ли сделать регулярное выражение PCRE для этого (или его обратного) без собственно жесткого кодирования кодовых точек с использованием общих категорий Unicode. Инверсом может быть что-то вроде [\ p {Cc}\p {Cs}\p {Cn}], за исключением того, что неправильно покрывает строки и табуляции и пропускает некоторые другие недопустимые символы.