Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }