C # Expresiones regulares con caracteres \ Uxxxxxxxx en el patrón
Regex.IsMatch( "foo", "[\U00010000-\U0010FFFF]" )
Lanza: System.ArgumentException: analizando el rango "[-]" - [x-y] en orden inverso.
Mirando los valores hexadecimales para \ U00010000 y \ U0010FFF obtengo: 0xd800 0xdc00 para el primer carácter y 0xdbff 0xdfff para el segundo.
Así que supongo que realmente tengo un problema. ¿Por qué los caracteres Unicode formados con \ U se dividen en dos caracteres en la cadena?