private IList <StringMatchFilter> getCompanyFilters(CheckTextBox checkTextBox) { var lines = checkTextBox.GetLines(true, false); var len = lines.Count; var filters = new List <StringMatchFilter>(len + 1); for (int i = 0; i < len; i++) { var line = lines[i]; if (String.IsNullOrEmpty(line)) { continue; } var @deny = line[0] == '-'; if (@deny || line[0] == '+') { line = line.Substring(1, line.Length - 1); } var pattern = line.ToLower(); pattern = new Regex(@"[\W_]+", RegexOptions.IgnoreCase).Replace(pattern, @"[\W_]+"); filters.Add(new Filter(@"^[\W_]*" + pattern + @"[\W_]*$", false, "Company", @deny ? FilterPermission.Deny : FilterPermission.Allow, FilterSearchType.Regex)); } return(filters); }
private IList <StringMatchFilter> getFilters(CheckTextBox checkTextBox) { var lines = checkTextBox.GetLines(true, false); var len = lines.Count; var filters = new List <StringMatchFilter>(len + 1); for (int i = 0; i < len; i++) { var line = lines[i]; if (String.IsNullOrEmpty(line)) { continue; } var match = _filterRegEx.Match(line); if (!match.Success) { Log.Add(RecType.UserError, "Incorrect line: " + line + "\r\nMust be \"(+/-)(+/-)(Name|Content|Company)(+/-)(Regexp)\" for example: \"++Content=C#|\\.Net\""); continue; } var pattern = match.Groups[4].Value; filters.Add(new Filter(pattern, match.Groups[3].Value == "-", match.Groups[2].Value, match.Groups[1].Value == "+" ? FilterPermission.Allow : FilterPermission.Deny, FilterSearchType.Regex)); } return(filters); }