Я пытаюсь разобрать содержимое файла с помощью регулярных выражений, но шаблон, с которым я столкнулся, не работает.
Регулярное выражение, которое я пытаюсь использовать:
string regex = @"^(?<key>\w+?)\s*?:\s*?{(?<value>[\s\S]+?)}$";
и текст, с которым я пытаюсь разобраться, -
string text = @"key:{value}
key:{valu{0}e}
key:{valu
{0}e}
key:{val-u{0}e}
key:{val__[!]
-u{0}{1}e}";
Тем не менее, он возвращает 0 результатов
MatchCollection matches = Regex.Matches(text, regex, RegexOptions.Multiline);
Я пытался протестировать это регулярное выражение на RegExr , который работал как ожидалось.
Я не уверен, почему это не работает при попытке в C #.
MCVE:
string regex = @"^(?<key>\w+?)\s*?:\s*?{(?<value>[\s\S]+?)}$";
string text = @"key:{value}
key:{valu{0}e}
key:{valu
{0}e}
key:{val-u{0}e}
key:{val__[!]
-u{0}{1}e}";
MatchCollection matches = Regex.Matches(text, regex, RegexOptions.Multiline);
Console.WriteLine(matches.Count);