using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
MatchThis("H12345678ABC");
MatchThis("G123456789ABC");
}
private static void MatchThis(string subject)
{
var regex = new Regex(@"(?((?<hgroup>H))\k<hgroup>.{8}|.{10})(?<user>.*)");
var match =regex.Match(subject);
if(match.Success)
{
Console.WriteLine(match.Groups["user"].Value);//prints ABC
}
else
{
Console.WriteLine("No Match");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlNYXRjaFRoaXMoIkgxMjM0NTY3OEFCQyIpOwoJCU1hdGNoVGhpcygiRzEyMzQ1Njc4OUFCQyIpOwoJfQoJcHJpdmF0ZSBzdGF0aWMgdm9pZCBNYXRjaFRoaXMoc3RyaW5nIHN1YmplY3QpCgl7CgkJdmFyIHJlZ2V4ID0gbmV3IFJlZ2V4KEAiKD8oKD88aGdyb3VwPkgpKVxrPGhncm91cD4uezh9fC57MTB9KSg/PHVzZXI+LiopIik7CgkJdmFyIG1hdGNoID1yZWdleC5NYXRjaChzdWJqZWN0KTsKCQlpZihtYXRjaC5TdWNjZXNzKQoJCXsKCQkgICAgQ29uc29sZS5Xcml0ZUxpbmUobWF0Y2guR3JvdXBzWyJ1c2VyIl0uVmFsdWUpOy8vcHJpbnRzIEFCQwoJCX0KCQllbHNlCgkJewoJCQlDb25zb2xlLldyaXRlTGluZSgiTm8gTWF0Y2giKTsKCQl9Cgl9Cn0=