C# - Regex + LINQ - получение числа из строки по шаблону

Имеется переменная в которой содержится информация об ошибке запроса по URL

string returnMessage = "FAIL! Invalid resources: Type{Value=300}, expected=Resources{Value=4000}, Home=1, exist=Resources{Value=4000}, sub=Resources{Value=4000}";

Как более корректно получить числовое значение строки expected=Resources{Value=4000} ?

Я использовал следующий код:

int valueForGetResourses = -1;
int.TryParse(string.Join("", Regex.Matches(returnMessage, @"expected=Resources{\w*=\w*}")
                             .OfType<Match>()
                             .First()
                             .ToString()
                             .Where(c => char.IsDigit(c))), out valueForGetResourses);

Однако если будет expected=Resources{}, то выбрасывается исключение. Можно сделать так, что бы в случае отсутствия по шаблону переменная оставалась -1 ? Или как более правильно организовать поиск по этому шаблону?


Ответы (0 шт):