using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var s = "START\r\n\r\nCity: Los Angeles\r\n- Item: 48\r\n- Item: 57\r\n- Item: 92\r\n- Item: 77\r\n\r\nCity: Austin\r\n- Item: 44\r\n- Item: 88\r\n";
var pattern = @"(?m)^City:\s*Los Angeles(?:\s*-\s*Item:\s*(?<itemnum>\d+))+";
var result = Regex.Matches(s, pattern)
.Cast<Match>().SelectMany(p => p.Groups["itemnum"].Captures
.Cast<Capture>()
.Select(x => x.Value));
Console.WriteLine(string.Join(", ", result));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzID0gIlNUQVJUXHJcblxyXG5DaXR5OiBMb3MgQW5nZWxlc1xyXG4tIEl0ZW06IDQ4XHJcbi0gSXRlbTogNTdcclxuLSBJdGVtOiA5MlxyXG4tIEl0ZW06IDc3XHJcblxyXG5DaXR5OiBBdXN0aW5cclxuLSBJdGVtOiA0NFxyXG4tIEl0ZW06IDg4XHJcbiI7CgkJdmFyIHBhdHRlcm4gPSBAIig/bSleQ2l0eTpccypMb3MgQW5nZWxlcyg/OlxzKi1ccypJdGVtOlxzKig/PGl0ZW1udW0+XGQrKSkrIjsKCQl2YXIgcmVzdWx0ID0gUmVnZXguTWF0Y2hlcyhzLCBwYXR0ZXJuKQoJCSAgICAgICAgICAuQ2FzdDxNYXRjaD4oKS5TZWxlY3RNYW55KHAgPT4gcC5Hcm91cHNbIml0ZW1udW0iXS5DYXB0dXJlcwoJCQkuQ2FzdDxDYXB0dXJlPigpCgkJCS5TZWxlY3QoeCA9PiB4LlZhbHVlKSk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5nLkpvaW4oIiwgIiwgcmVzdWx0KSk7Cgl9Cn0=