using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var pattern = @"/(?<Command>\w+)(?:@(?<Target>\S+))?(?<Args>(?s).*)";
var text = "/ping@mybot arg1 arg2";
var match = Regex.Match(text, pattern);
if (match.Success)
{
Console.WriteLine(match.Groups["Command"].Value);
Console.WriteLine(match.Groups["Target"].Value);
Console.WriteLine(match.Groups["Args"].Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgcGF0dGVybiA9IEAiLyg/PENvbW1hbmQ+XHcrKSg/OkAoPzxUYXJnZXQ+XFMrKSk/KD88QXJncz4oP3MpLiopIjsKICAgIAl2YXIgdGV4dCA9ICIvcGluZ0BteWJvdCBhcmcxIGFyZzIiOwogICAgICAgIHZhciBtYXRjaCA9IFJlZ2V4Lk1hdGNoKHRleHQsIHBhdHRlcm4pOwogICAgICAgIGlmIChtYXRjaC5TdWNjZXNzKQogICAgICAgIHsKICAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUobWF0Y2guR3JvdXBzWyJDb21tYW5kIl0uVmFsdWUpOwogICAgICAgIAlDb25zb2xlLldyaXRlTGluZShtYXRjaC5Hcm91cHNbIlRhcmdldCJdLlZhbHVlKTsKICAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUobWF0Y2guR3JvdXBzWyJBcmdzIl0uVmFsdWUpOwogICAgICAgIH0KCX0KfQ==