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> { "First: 12345Z Apr 16 Something WORD: ABC Notification #1234 Key1 Key2 Key3 Key4",
"Second: 12345Z Apr 16 Something WORD: ABC Notification #1234 Key5 Key3 Key6",
"Third: 12345Z Apr 16 Something WORD: ABC Notification #1234 Key7 Key6"};
foreach (var s in strs) {
var result = Regex.Matches(s, @"(?<=#\d{4}(?:\s+\w+)*)\s*\b(Key3|Key4|Key6|Key7)\b")
.Cast<Match>()
.Select(m => m.Value)
.ToList();
foreach (var e in result)
Console.WriteLine(e);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzdHJzID0gbmV3IExpc3Q8c3RyaW5nPiB7ICJGaXJzdDogMTIzNDVaIEFwciAxNiBTb21ldGhpbmcgV09SRDogQUJDIE5vdGlmaWNhdGlvbiAjMTIzNCBLZXkxIEtleTIgS2V5MyBLZXk0IiwKIlNlY29uZDogMTIzNDVaIEFwciAxNiBTb21ldGhpbmcgV09SRDogQUJDIE5vdGlmaWNhdGlvbiAjMTIzNCBLZXk1IEtleTMgS2V5NiIsCiJUaGlyZDogMTIzNDVaIEFwciAxNiBTb21ldGhpbmcgV09SRDogQUJDIE5vdGlmaWNhdGlvbiAjMTIzNCBLZXk3IEtleTYifTsKCQlmb3JlYWNoICh2YXIgcyBpbiBzdHJzKSB7CiAgICAJCXZhciByZXN1bHQgPSBSZWdleC5NYXRjaGVzKHMsIEAiKD88PSNcZHs0fSg/OlxzK1x3KykqKVxzKlxiKEtleTN8S2V5NHxLZXk2fEtleTcpXGIiKQogICAgCQkJLkNhc3Q8TWF0Y2g+KCkKICAgIAkJCS5TZWxlY3QobSA9PiBtLlZhbHVlKQogICAgCQkJLlRvTGlzdCgpOwogICAgICAgIAlmb3JlYWNoICh2YXIgZSBpbiByZXN1bHQpCgkgICAgICAgIAlDb25zb2xlLldyaXRlTGluZShlKTsKCQl9Cgl9Cn0=