using System;
using System.IO;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var s = "1 2 obj\rObj1\rendobj\r2 3 obj\rObj2\rendobj\r3 45 obj\rObj3\rendobj";
var matches = Regex.Matches(s, @"(?<=\r|^)(?<obj>\d+ \d+) obj\r(?<objData>.+?)\rendobj(?=\r|$)",
RegexOptions.Multiline | RegexOptions.Singleline);
foreach (Match m in matches)
{
Console.WriteLine("___ MATCH ___");
Console.WriteLine(m.Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgcyA9ICIxIDIgb2JqXHJPYmoxXHJlbmRvYmpccjIgMyBvYmpcck9iajJccmVuZG9ialxyMyA0NSBvYmpcck9iajNccmVuZG9iaiI7CiAgICAgICAgdmFyIG1hdGNoZXMgPSBSZWdleC5NYXRjaGVzKHMsIEAiKD88PVxyfF4pKD88b2JqPlxkKyBcZCspIG9ialxyKD88b2JqRGF0YT4uKz8pXHJlbmRvYmooPz1ccnwkKSIsCiAgICAgICAgICAgICAgIFJlZ2V4T3B0aW9ucy5NdWx0aWxpbmUgfCBSZWdleE9wdGlvbnMuU2luZ2xlbGluZSk7CiAgICAgICAgZm9yZWFjaCAoTWF0Y2ggbSBpbiBtYXRjaGVzKQogICAgICAgIHsKICAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUoIl9fXyBNQVRDSCBfX18iKTsKICAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUobS5WYWx1ZSk7CiAgICAgICAgfQoJfQp9