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);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CiAKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXN0cmluZyBwYXR0ZXJuID0gQCJAKFthLXpBLVpdKylbXjpdKjooXGQrKSEoW0FEXSkhLT4oXGQrKSI7CiAgICAgICAgc3RyaW5nIGlucHV0ID0gQCJQUUBBbGRlcmFhMTozMDAwMCFBIS0+MjAwMDAiOyAgICAgICAgICAgICAKICAgICAgICBmb3JlYWNoIChNYXRjaCBtIGluIFJlZ2V4Lk1hdGNoZXMoaW5wdXQsIHBhdHRlcm4pKQogICAgICAgIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHNbMV0uVmFsdWUpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShtLkdyb3Vwc1syXS5WYWx1ZSk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG0uR3JvdXBzWzNdLlZhbHVlKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHNbNF0uVmFsdWUpOwogICAgICAgIH0gCgl9Cn0=