using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string pattern = @"@([a-zA-Z]+)[^:]+:(\d+)!([AD])!->(\d+)";
string input = @"PQ@Alderaa1:30000!A!->20000";
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine(m.Groups[1].Value);
Console.WriteLine(m.Groups[2].Value);
Console.WriteLine(m.Groups[3].Value);
Console.WriteLine(m.Groups[4].Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIHBhdHRlcm4gPSBAIkAoW2EtekEtWl0rKVteOl0rOihcZCspIShbQURdKSEtPihcZCspIjsKICAgICAgICBzdHJpbmcgaW5wdXQgPSBAIlBRQEFsZGVyYWExOjMwMDAwIUEhLT4yMDAwMCI7ICAgICAgICAgICAgIAogICAgICAgIGZvcmVhY2ggKE1hdGNoIG0gaW4gUmVnZXguTWF0Y2hlcyhpbnB1dCwgcGF0dGVybikpCiAgICAgICAgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShtLkdyb3Vwc1sxXS5WYWx1ZSk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG0uR3JvdXBzWzJdLlZhbHVlKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHNbM10uVmFsdWUpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShtLkdyb3Vwc1s0XS5WYWx1ZSk7CiAgICAgICAgfSAKCX0KfQ==