2013-03-05 2 views
0

Как я могу сделать следующее в C#:Javascript regexp.test() .NET эквивалент

var re = /^\d{4}(\/\d{2}){2} \d{2}(:\d{2}){2}$/; 
re.test('2013/03/05 15:22:00'); // returns true 
+5

Вы не задали вопрос ... Тем не менее, вы, вероятно, хотите посмотреть на [Regex] (http://msdn.microsoft.com/en-gb/library/system.text.regularexpressions. regex.aspx). Сказав это, вы можете лучше изучить метод [DateTime.TryParse] (http://msdn.microsoft.com/en-GB/library/system.datetime.tryparse.aspx). –

+1

OBTW, нет эквивалента _exact_, потому что C#, в отличие от JavaScript, не поддерживает регулярные выражения. Эта поддержка поддерживается в .NET Framework. –

+0

Что вы хотите, чтобы я сделал? Просто переформулируйте название? – leaf

ответ

3

Этот код должен содержать вас, где вы хотите быть.

Regex rx = new Regex(@"^\d{4}(\/\d{2}){2} \d{2}(:\d{2}){2}$"); 
String test = "2013/03/05 15:22:00"; 

if (rx.IsMatch(test)) 
{ 
    //Test String matches 
} 
else 
{ 
    //Test String does not match 
} 
+0

Упс .. Похоже, Дэвин получил его, пока я его печатал. – Geneb

6

Вы можете использовать Regex.IsMatch вместо (docs).

Regex.IsMatch("2013/03/05 15:22:00", @"^\d{4}(\/\d{2}){2} \d{2}(:\d{2}){2}$"); // true if match 
+0

@KristerRenaud Спасибо, я не был уверен в том, что начало косая черта! –

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