Пример #1
0
        public ParserResult Parse(string input, int scope)
        {
            if (_cache.TryGetTranslationSplitter(input, scope, out var match, out var splitter))
            {
                return(new ParserResult(ParserResultOrigin.RegexTextParser, input, splitter.Translation, true, true, Settings.CacheRegexPatternResults, true, splitter.CompiledRegex, match));
            }

            return(null);
        }
        public ParserResult Parse(string input, int scope)
        {
            if (_cache.TryGetTranslationSplitter(input, scope, out var match, out var splitter))
            {
                var args = new Dictionary <string, string>();

                var groups = match.Groups;
                var len    = groups.Count;
                for (int j = 1; j < len; j++)
                {
                    var group     = groups[j];
                    var groupName = "$" + j;
                    var value     = group.Value;
                    args.Add(groupName, value);
                }

                return(new ParserResult(input, splitter.Translation, true, true, Settings.CacheRegexPatternResults, true, args));
            }

            return(null);
        }