Regex.IsMatch( "foo", "[\U00010000-\U0010FFFF]" )
スロー:System.ArgumentException:"[-]"-[xy]範囲を逆の順序で解析します。
\U00010000と\U0010FFFの16進値を見ると、最初の文字が0xd800 0xdc00、2番目の文字が0xdbff0xdfffになります。
ですから、私には本当に1つの問題があると思います。\ Uで形成されたUnicode文字が文字列内で2つの文字に分割されるのはなぜですか?