using System;
using System.Text .RegularExpressions ;
public class Test
{
public static void Main( )
{
string sourceText = "This will contain a bunch of text. Might also contain EMP 1234 and there could be a bunch of text after this pattern. There could again be EMP 4567 or http://emps/2345 We'll be extracting all such patterns. 3 in this case." ;
const string regexPattern = @"\b (?:EMP(?:id|[s:#])?\s+(?<EMPid>\d{1,11})|(?<EMPurl>https?://emps/\d+))(?!\S)" ;
var search = new Regex( regexPattern , RegexOptions.IgnoreCase ) ;
MatchCollection matches = search.Matches ( sourceText) ;
foreach ( Match match in matches)
{
Console.WriteLine ( match.Value .ToString ( ) ) ;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIHNvdXJjZVRleHQgPSAiVGhpcyB3aWxsIGNvbnRhaW4gYSBidW5jaCBvZiB0ZXh0LiBNaWdodCBhbHNvIGNvbnRhaW4gRU1QIDEyMzQgYW5kIHRoZXJlIGNvdWxkIGJlIGEgYnVuY2ggb2YgdGV4dCBhZnRlciB0aGlzIHBhdHRlcm4uIFRoZXJlIGNvdWxkIGFnYWluIGJlIEVNUCA0NTY3IG9yIGh0dHA6Ly9lbXBzLzIzNDUgV2UnbGwgYmUgZXh0cmFjdGluZyBhbGwgc3VjaCBwYXR0ZXJucy4gMyBpbiB0aGlzIGNhc2UuIjsKCQljb25zdCBzdHJpbmcgcmVnZXhQYXR0ZXJuID0gQCJcYig/OkVNUCg/OmlkfFtzOiNdKT9ccysoPzxFTVBpZD5cZHsxLDExfSl8KD88RU1QdXJsPmh0dHBzPzovL2VtcHMvXGQrKSkoPyFcUykiOwoJCXZhciBzZWFyY2ggPSBuZXcgUmVnZXgocmVnZXhQYXR0ZXJuICwgUmVnZXhPcHRpb25zLklnbm9yZUNhc2UpOwoJCU1hdGNoQ29sbGVjdGlvbiBtYXRjaGVzID0gc2VhcmNoLk1hdGNoZXMoc291cmNlVGV4dCk7CgkJCgkJZm9yZWFjaCAoTWF0Y2ggbWF0Y2ggaW4gbWF0Y2hlcykKCQl7CgkJICAgIENvbnNvbGUuV3JpdGVMaW5lKG1hdGNoLlZhbHVlLlRvU3RyaW5nKCkpOwoJCX0KCX0KfQ==