public override ParseResult TryParse(string input)
{
ParseResult retval;
string pattern = @"/kick\s(?<nickname>[^\s]+)+?(\s(?<reason>.+))?";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
Match match = regex.Match(input);
if (match.Success)
{
this.Parameters = new string[] { this.ChannelName, match.Groups["nickname"].Value };
if (match.Groups["reason"].Success)
{
this.TrailingParameter = match.Groups["reason"].Value;
}
retval = new ParseResult(true, string.Empty);
}
else
{
retval = new ParseResult(false, Strings_MessageParseResults.MissingParameter_Nickname);
}
return retval;
}