registry项和值名称的有效字符是什么?

更具体地说,这个信息的权威来源是什么?

这可能看起来像一个非编程的问题,但我需要知道是否registrypath喂给我的代码包含正则expression式与否。 我决定这样做的最好方法是假设任何出现的无效字符(如'*')意味着通配符search。

有关允许的密钥和值名称,请参阅注册表结构的MSDN页面。 尤其是:

每个键都有一个由一个或多个可打印字符组成的名称。 密钥名称不区分大小写。 键名不能包含反斜线字符(\),但可以使用其他可打印字符。 数值名称和数据可以包含反斜杠字符。

注册表值类型在MSDN这里详细解释,以防您需要知道允许的值。

对于Windows的所有东西,MSDN必须是权威的来源 – 关于注册表元素大小限制的文章意味着Unicode是好的, 注册表的结构说反斜杠和不可打印的字符在键名称中是不允许的。 价值观只需要完全可打印的字符。