C # Регулярные выражения с символами \ Uxxxxxxxx в шаблоне
Regex.IsMatch( "foo", "[\U00010000-\U0010FFFF]" )
Броски: System.ArgumentException: анализ диапазона «[-]» - [x-y] в обратном порядке.
Глядя на шестнадцатеричные значения для \ U00010000 и \ U0010FFF, я получаю: 0xd800 0xdc00 для первого символа и 0xdbff 0xdfff для второго.
Так что, думаю, у меня действительно есть одна проблема. Почему символы Unicode, сформированные с \ U, разделяются на два символа в строке?