Подтвердить что ты не робот

Плохая компиляция постоянного значения

Я получаю значение "Плохая компиляция константы" в этом выражении.

Regex objCheckNumber = new Regex("^(\d){4}$");

Я просто хочу установить это, чтобы проверить другую строку, чтобы увидеть, введено ли значение 4 цифры.

4b9b3361

Ответ 1

С# пытается интерпретировать \d как escape-последовательность, а \d не является допустимой escape-последовательностью (но, например, \n и \t). Вы можете удвоить обратную косую черту, чтобы избежать ее ("^(\\d){4}$"), или вы можете префикс строки константы с помощью знака at: @"^(\d){4}$".

Ответ 2

В С# используется символ escape. Вам нужно удвоить значение \ до \\.

В качестве альтернативы поместите символ @перед двойной кавычкой:

new Regex(@"^(\d){4}$")