using System;
using System.IO;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
String s = ">>>tagA\ncontents 1\n<<<tagA\n...\n>>>tagB\ncontents 2\n<<<tagB\n...";
var matches = Regex.Matches(s, @">>>(?<tagName>.+?)[\r\n]+(?s:(?<contents>.*?))<<<");
foreach (Match m in matches) {
Console.WriteLine(m.Groups["tagName"].Value);
Console.WriteLine(m.Groups["contents"].Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCVN0cmluZyBzID0gIj4+PnRhZ0FcbmNvbnRlbnRzIDFcbjw8PHRhZ0Fcbi4uLlxuPj4+dGFnQlxuY29udGVudHMgMlxuPDw8dGFnQlxuLi4uIjsKICAgICAgICB2YXIgbWF0Y2hlcyA9IFJlZ2V4Lk1hdGNoZXMocywgQCI+Pj4oPzx0YWdOYW1lPi4rPylbXHJcbl0rKD9zOig/PGNvbnRlbnRzPi4qPykpPDw8Iik7CiAgICAgICAgZm9yZWFjaCAoTWF0Y2ggbSBpbiBtYXRjaGVzKSB7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG0uR3JvdXBzWyJ0YWdOYW1lIl0uVmFsdWUpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShtLkdyb3Vwc1siY29udGVudHMiXS5WYWx1ZSk7CiAgICAgICAgfQoJfQp9Cgo=