2009-06-18 4 views
22

В частности, каков авторитетный источник этой информации?Каковы допустимые символы для ключей реестра и оценочных имен?

Это может выглядеть как вопрос, не связанный с программированием, но мне нужно знать, содержит ли путь к реестру в мой код регулярное выражение или нет. Я решил, что лучший способ сделать это - предположить, что любое появление недопустимого символа (например, '*') означает поиск подстановочных знаков.

+0

Это зависит. Эта ссылка вам полезна: http://en.wikipedia.org/wiki/Windows_Registry – joe

ответ

35

Для допустимых имен ключей и значений см. Страницу MSDN по адресу Structure of the Registry. В частности:

Каждый ключ имеет имя, состоящее из одного или нескольких печатных символов. Имена ключей не чувствительны к регистру. Имена ключей не могут содержать символ обратной косой черты (\), но любой другой печатный символ может быть использован как . Имена значений и данные могут включать символ обратной косой черты.

Типы значений реестра поясняются в detail on MSDN here, если вам необходимо знать допустимые значения.

+2

Спасибо! Я должен развить привычку искать именно на этом сайте, вместо того, чтобы искать игру, как безголовый цыпленок. – JCCyC

+3

Нет проблем. Каждый раз, когда вам нужна авторитетная информация о Windows, MSDN - это место для поиска ... Я все же использую google для поиска в msdn, но просто ограничиваю сайт MSDN. –

+2

Это потому, что поиск по MSDN выполняется поисковой системой Bing, которая является дерьмом. Они должны использовать Lucene! – mjaggard

5

Для всех вещей Windows, MSDN должен быть авторитетным источником - статья на Registry Element Size Limits подразумевает, что Unicode хорош, и Structure of the Registry говорит, что символы с обратной косой чертой и непечатаемые символы запрещены в именах ключей. Значения должны быть полностью печатаемыми символами.

+1

-1 Пока я не могу понять, что это добавляет по другому ответу (я бы даже переключил его на +1, если он вызвал то, о чем не говорит другой ответ) –

+1

Почему (поздно) и анонимный downvote? –

+3

@RubenBartelink - через 5 минут ?! Дайте парню перерыв, он, вероятно, все еще печатал его, когда был отправлен другой ответ. – mjaggard