Плохая компиляция постоянного значения
Я получаю значение "Плохая компиляция константы" в этом выражении.
Regex objCheckNumber = new Regex("^(\d){4}$");
Я просто хочу установить это, чтобы проверить другую строку, чтобы увидеть, введено ли значение 4 цифры.
Ответы
Ответ 1
С# пытается интерпретировать \d
как escape-последовательность, а \d
не является допустимой escape-последовательностью (но, например, \n
и \t
). Вы можете удвоить обратную косую черту, чтобы избежать ее ("^(\\d){4}$"
), или вы можете префикс строки константы с помощью знака at: @"^(\d){4}$"
.
Ответ 2
В С# используется символ escape. Вам нужно удвоить значение \
до \\
.
В качестве альтернативы поместите символ @перед двойной кавычкой:
new Regex(@"^(\d){4}$")