В настоящее время я пытаюсь извлечь следующее в виде абзацев с использованием Regex внутри .Net 3.5 В начале каждого абзаца обозначается фраза, обозначающая начало последовательности, в данном случае StartMarker
. После этого переменное количество строк, каждое с линией (\n
) в конце. Конец абзаца обозначается пустой строкой.Многострочное регулярное выражение .Net
Пример входных данных следующим образом
StartMarker:
Line1
Line2
Line3
Line4
Line5
StartMarker:
Line6
Line7
Line8
StartMarker:
Line9
Line10
Это должно дать следующие матчи:
матча 1
StartMarker:
Line1
Line2
Line3
Line4
Line5
матча 2
StartMarker:
Line6
Line7
Line8
матч 3
StartMarker:
Line9
Line10
Я пробовал (^StartMarker.*\n)
, но это соответствует только первой строке в каждом сегменте. Я использовал это с включенными глобальными и многострочными параметрами.
Я думал что-то вроде (^StartMarker.*)([\s\S]+\n)
, но это не работает [\s\S]+
жадный и захватывает все после StartMarker
до конца файла. Поэтому я действительно не уверен, как действовать дальше. Любая помощь здесь будет оценена.
'' 'после' + 'делает его неживым. – Rawling
Спасибо. Я просто попробовал это. (^ StartMarker:) ([\ s \ S] + \ п?). Итак, теперь он захватывает все, начиная с StartMarker: до конца следующей строки. Любые идеи о том, как я могу его захватить до пустой строки? – Dee
С этим не-жадным битом, я думаю, что я это обработал.^StartMarker: [\ s \ S] +^\ п. Спасибо за это. – Dee