Регулярки, запретить вложенность - C#
Формулировка задачи:
Добрый день.
Например, есть текст
string Text = "start первая регулярка end
start вторая end
start третья end
start четвёрая end
start пятая end";
и к ней регулярка:
В итоге, количество Совпадений окажется равным 1, так как регулярка берёт первый "start" и последний "end"
Но мне нужно чтобы находило 5 совпадений.
Как это сделать? Не нашёл параметра, запрещающего вложенные друг в друга регулярки.
string pattern = @"start(\s|\S)end;
Regex newReg = new Regex(pattern);
MatchCollection matches = newReg.Matches(Text);Решение задачи: «Регулярки, запретить вложенность»
textual
Листинг программы
string Text = @"start первая регулярка end
start вторая end
start третья end
start четвёрая end
start пятая end";
string pattern = @"start(\s|\S)+?end";
Regex newReg = new Regex(pattern);
MatchCollection matches = newReg.Matches(Text);
foreach (Match m in matches)
{
Console.WriteLine(m.Value);
Console.WriteLine("*******");
}
Console.ReadKey();