Example #1
0
        public static DoubleExtractor GetInstance(string placeholder = NumbersDefinitions.PlaceHolderDefault)
        {
            if (!Instances.ContainsKey(placeholder))
            {
                var instance = new DoubleExtractor(placeholder);
                Instances.TryAdd(placeholder, instance);
            }

            return(Instances[placeholder]);
        }
Example #2
0
        public static DoubleExtractor GetInstance(BaseNumberOptionsConfiguration config)
        {
            var extractorKey = config.Placeholder;

            if (!Instances.ContainsKey(extractorKey))
            {
                var instance = new DoubleExtractor(config);
                Instances.TryAdd(extractorKey, instance);
            }

            return(Instances[extractorKey]);
        }
        private CardinalExtractor(string placeholder = NumbersDefinitions.PlaceHolderDefault)
        {
            var builder = ImmutableDictionary.CreateBuilder <Regex, TypeTag>();

            //Add Integer Regexes
            var intExtract = IntegerExtractor.GetInstance(placeholder);

            builder.AddRange(intExtract.Regexes);

            //Add Double Regexes
            var douExtract = DoubleExtractor.GetInstance(placeholder);

            builder.AddRange(douExtract.Regexes);

            Regexes = builder.ToImmutable();
        }
        private CardinalExtractor(BaseNumberOptionsConfiguration config)
            : base(config.Options)
        {
            keyPrefix = string.Intern(ExtractType + "_" + config.Options + "_" + config.Placeholder + "_" + config.Culture);

            var builder = ImmutableDictionary.CreateBuilder <Regex, TypeTag>();

            // Add Integer Regexes
            var intExtract = IntegerExtractor.GetInstance(config);

            builder.AddRange(intExtract.Regexes);

            // Add Double Regexes
            var douExtract = DoubleExtractor.GetInstance(config);

            builder.AddRange(douExtract.Regexes);

            Regexes = builder.ToImmutable();
        }