using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var strs = new List<string> { "ABC-210293CompletedReports",
"CC517036submittedbyfoobarforABC105799WRS877565",
"ABC#86765",
"abc99220 / 103743",
"AbC99220/103743",
"ABC 123 and 1123",
"SubmittedbyFooBar.forABC106156.Solutionbuilton4/23/20184:22PM"
};
var pattern = new Regex(@"(?i)\d{1,2}/\d{1,2}/\d{4}|(ABC.\d{1,11}| *(?:[/-]|AND) *\d{1,11})", RegexOptions.Compiled);
foreach (var s in strs) {
var results = pattern.Matches(s)
.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToList();
foreach (var t in results)
Console.WriteLine(t);
} }
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzdHJzID0gbmV3IExpc3Q8c3RyaW5nPiB7ICJBQkMtMjEwMjkzQ29tcGxldGVkUmVwb3J0cyIsIAoJCQkiQ0M1MTcwMzZzdWJtaXR0ZWRieWZvb2JhcmZvckFCQzEwNTc5OVdSUzg3NzU2NSIsCgkJCSJBQkMjODY3NjUiLAoJCQkiYWJjOTkyMjAgLyAxMDM3NDMiLAoJCQkiQWJDOTkyMjAvMTAzNzQzIiwKCQkJIkFCQyAxMjMgYW5kIDExMjMiLAoJCQkiU3VibWl0dGVkYnlGb29CYXIuZm9yQUJDMTA2MTU2LlNvbHV0aW9uYnVpbHRvbjQvMjMvMjAxODQ6MjJQTSIKCQl9OwogICAgCXZhciBwYXR0ZXJuID0gbmV3IFJlZ2V4KEAiKD9pKVxkezEsMn0vXGR7MSwyfS9cZHs0fXwoQUJDLlxkezEsMTF9fCAqKD86Wy8tXXxBTkQpICpcZHsxLDExfSkiLCBSZWdleE9wdGlvbnMuQ29tcGlsZWQpOwogICAgCWZvcmVhY2ggKHZhciBzIGluIHN0cnMpIHsKCSAgICAJdmFyIHJlc3VsdHMgPSBwYXR0ZXJuLk1hdGNoZXMocykKCSAgICAJCS5DYXN0PE1hdGNoPigpCgkgICAgCQkuU2VsZWN0KG0gPT4gbS5Hcm91cHNbMV0uVmFsdWUpCgkgICAgCQkuVG9MaXN0KCk7CiAgICAgICAgCWZvcmVhY2ggKHZhciB0IGluIHJlc3VsdHMpCiAgICAgICAgCQlDb25zb2xlLldyaXRlTGluZSh0KTsKCX0JfQp9