【发布时间】:2008-12-12 20:18:26
【问题描述】:
Regex.IsMatch( "foo", "[\U00010000-\U0010FFFF]" )
抛出:System.ArgumentException:以相反的顺序解析“[-]” - [x-y] 范围。
查看 \U00010000 和 \U0010FFF 的十六进制值,我得到:第一个字符为 0xd800 0xdc00,第二个字符为 0xdbff 0xdfff。
所以我想我真的有一个问题。为什么用 \U 组成的 Unicode 字符在字符串中分成两个字符?
【问题讨论】:
标签: c# regex unicode astral-plane