using System;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var regex = new Regex(@"(?<=headerb)[\r\n]*(?:aa(?<number>\d+)aaa[\r\n]*)+(?=headerc)", RegexOptions.Singleline);
var match = regex.Match(_input);
if (match.Success)
{
foreach (var number in match.Groups["number"].Captures.Cast<Capture>())
{
Console.WriteLine(number);
}
}
}
private static readonly string _input = @"headera
aa1aaa
aa2aaa
aa3aaa
headerb
aa4aaa
aa5aaa
aa6aaa
headerc
aa7aaa
aa8aaa
aa9aaa";
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciByZWdleCA9IG5ldyBSZWdleChAIig/PD1oZWFkZXJiKVtcclxuXSooPzphYSg/PG51bWJlcj5cZCspYWFhW1xyXG5dKikrKD89aGVhZGVyYykiLCBSZWdleE9wdGlvbnMuU2luZ2xlbGluZSk7CiAgICAgICAgdmFyIG1hdGNoID0gcmVnZXguTWF0Y2goX2lucHV0KTsKICAgICAgICBpZiAobWF0Y2guU3VjY2VzcykKICAgICAgICB7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBudW1iZXIgaW4gbWF0Y2guR3JvdXBzWyJudW1iZXIiXS5DYXB0dXJlcy5DYXN0PENhcHR1cmU+KCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG51bWJlcik7CiAgICAgICAgICAgIH0KICAgICAgICB9Cgl9CgkKCXByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHN0cmluZyBfaW5wdXQgPSBAImhlYWRlcmEKYWExYWFhCmFhMmFhYQphYTNhYWEKCmhlYWRlcmIKYWE0YWFhCmFhNWFhYQphYTZhYWEKCmhlYWRlcmMKYWE3YWFhCmFhOGFhYQphYTlhYWEiOwp9