Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bad Compile constant value

Tags:

c#

I get "Bad Compile constant value" on this statement.

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

I simply want to set this up to check another string to see if the value entered is 4 digits.

like image 868
PositiveGuy Avatar asked Oct 13 '09 03:10

PositiveGuy


2 Answers

C# is trying to interpret \d as an escape sequence, and \d is not a valid escape sequence (but \n and \t are, for example). You can either double up the backslashes to escape it ("^(\\d){4}$"), or you can prefix the constant string with an at-sign: @"^(\d){4}$".

like image 74
Mark Rushakoff Avatar answered Nov 04 '22 23:11

Mark Rushakoff


C# uses \ as an escape character. You need to double up the \ to \\.

Alternatively, place a @ character before the double-quote:

new Regex(@"^(\d){4}$")
like image 43
Jason Kresowaty Avatar answered Nov 05 '22 00:11

Jason Kresowaty