protected virtual bool HasArgument(string argument) { var scheme = Schemas.First(s => s.Name.Equals(argument) || s.ShortName.Equals(argument)); if (scheme == null) { return(false); } return(Arguments.Any(arg => { var regex = new Regex($"((-{scheme.ShortName})|(--{scheme.Name}))([:=].+)?"); return !string.IsNullOrWhiteSpace(arg) && regex.IsMatch(arg); })); }