using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string input = "blablablabla12345b\nMain Storage : C61\nC62 : 1215\nC61 : 1785\nblablablabla12345blablablabla";
string pattern = @"(?: : (?<portion>[A-Z]{1,2}[0-9]{2})|^\s*(?<portion>[A-Z]{1,2}[0-9]{2}) :)(?!.*(?: : \k<portion>|^\s*\k<portion> :))";
MatchCollection matches = Regex.Matches(input, pattern, RegexOptions.Singleline | RegexOptions.Multiline);
foreach (Match match in matches)
{
GroupCollection groups = match.Groups;
Console.WriteLine( groups["portion"].Value );
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgc3RyaW5nIGlucHV0ID0gImJsYWJsYWJsYWJsYTEyMzQ1YlxuTWFpbiBTdG9yYWdlIDogQzYxXG5DNjIgOiAxMjE1XG5DNjEgOiAxNzg1XG5ibGFibGFibGFibGExMjM0NWJsYWJsYWJsYWJsYSI7CiAgICAgICAgCiAgICAgICAgc3RyaW5nIHBhdHRlcm4gPSBAIig/OiA6ICg/PHBvcnRpb24+W0EtWl17MSwyfVswLTldezJ9KXxeXHMqKD88cG9ydGlvbj5bQS1aXXsxLDJ9WzAtOV17Mn0pIDopKD8hLiooPzogOiBcazxwb3J0aW9uPnxeXHMqXGs8cG9ydGlvbj4gOikpIjsKICAgICAgICBNYXRjaENvbGxlY3Rpb24gbWF0Y2hlcyA9IFJlZ2V4Lk1hdGNoZXMoaW5wdXQsIHBhdHRlcm4sIFJlZ2V4T3B0aW9ucy5TaW5nbGVsaW5lIHwgUmVnZXhPcHRpb25zLk11bHRpbGluZSk7CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCAoTWF0Y2ggbWF0Y2ggaW4gbWF0Y2hlcykKICAgICAgICB7CiAgICAgICAgICAgICBHcm91cENvbGxlY3Rpb24gZ3JvdXBzID0gbWF0Y2guR3JvdXBzOwogICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIGdyb3Vwc1sicG9ydGlvbiJdLlZhbHVlICk7CiAgICAgICAgfQoJfQp9