2014-02-17 5 views
0

Я реализую метод, который нужно найти, если строка соответствует некоторому шаблону: Я использую следующий код:Regex соответствие шаблону со строкой

if (Regex.IsMatch(str, @"^[\d]{3}00{\d]{4}$")) 
{ 
     return false; 
} 
return true; 

И проверить его с этой строкой "123003678" It возвращает true ... Я не могу понять, в чем проблема там ... Любые мысли? Спасибо

ответ

2

Использование скобок немного в вашей строке.

попробовать это:

@"^\d{3}00\d{4}$" 

в вашем примере регулярного выражения второго кронштейн начинается с { и заканчивается ], который будет ввернуть вещи.

1

вы испортили квадратные скобки, фигурные скобки

Попробуйте

^[\d]{3}00[\d]{4}$ 

Regex Demo

if (Regex.IsMatch(str, @"^[\d]{3}00[\d]{4}$")) 
{ 
     return false; 
} 
return true; 
+0

Если так не понимаю, от когда я использую скобки – Yakov

+0

на самом деле квадратные скобки Совпадение характер класс. –

Смежные вопросы