我在这句话中得到“Bad Compile constant value”。
Regex objCheckNumber = new Regex("^(\d){4}$");
我只想将其设置为检查另一个字符串,以查看输入的值是否为4位数。
答案 0 :(得分:72)
C#正在尝试将\d
解释为转义序列,而\d
不是一个有效的转义序列(但是\n
和\t
是,例如)。您可以将反斜杠加倍以使其转义("^(\\d){4}$"
),也可以在常量字符串前加上一个at符号:@"^(\d){4}$"
。
答案 1 :(得分:8)
C#使用\作为转义字符。您需要将\
翻倍至\\
。
或者,在双引号之前放置一个@字符:
new Regex(@"^(\d){4}$")