public SmallTalksIntent ToIntent(Rule rule) { var stIntent = new SmallTalksIntent { Name = rule.Name }; var patters = rule.Patterns .Select(p => Regex.IsMatch(p, "^\\w") ? $"\\b{p}" : p) .Select(p => Regex.IsMatch(p, "\\w$") ? $"{p}\\b" : p) .ToList(); var regexPattern = string.Join('|', patters); stIntent.Regex = new Regex(regexPattern, Configuration.ST_REGEX_OPTIONS); stIntent.Priority = rule.Priority; return(stIntent); }
public SmallTalksIntent ToIntentv2(Rule rule) { var stIntent = new SmallTalksIntent { Name = rule.Name }; var patterns = rule.Patterns .Select(p => Regex.IsMatch(p, "^\\w") ? $"\\b{p}" : p) .Select(p => Regex.IsMatch(p, "\\w$") ? $"{p}\\b" : p) .Select(p => RegexAdd(rule.Position, p)) .ToList(); var finalPatterns = patterns.SelectMany(x => x).ToList(); var regexPattern = string.Join("|", finalPatterns); stIntent.Regex = new Regex(regexPattern, Configuration.ST_REGEX_OPTIONS); stIntent.Priority = rule.Priority; return(stIntent); }