public NumberRangeExtractor(INumberOptionsConfiguration config) : base( NumberExtractor.GetInstance(), OrdinalExtractor.GetInstance(), new BaseNumberParser(new TurkishNumberParserConfiguration(config)), config) { var regexes = new Dictionary <Regex, string>() { { // between...and... RegexCache.Get(NumbersDefinitions.TwoNumberRangeRegex1, RegexFlags), NumberRangeConstants.TWONUMBETWEEN }, { // more than ... less than ... RegexCache.Get(NumbersDefinitions.TwoNumberRangeRegex2, RegexFlags), NumberRangeConstants.TWONUM }, { // less than ... more than ... RegexCache.Get(NumbersDefinitions.TwoNumberRangeRegex3, RegexFlags), NumberRangeConstants.TWONUM }, { // from ... to/~/- ... RegexCache.Get(NumbersDefinitions.TwoNumberRangeRegex4, RegexFlags), NumberRangeConstants.TWONUMTILL }, { // more/greater/higher than ... RegexCache.Get(NumbersDefinitions.OneNumberRangeMoreRegex1, RegexFlags), NumberRangeConstants.MORE }, { // 30 and/or greater/higher RegexCache.Get(NumbersDefinitions.OneNumberRangeMoreRegex2, RegexFlags), NumberRangeConstants.MORE }, { // less/smaller/lower than ... RegexCache.Get(NumbersDefinitions.OneNumberRangeLessRegex1, RegexFlags), NumberRangeConstants.LESS }, { // 30 and/or less/smaller/lower RegexCache.Get(NumbersDefinitions.OneNumberRangeLessRegex2, RegexFlags), NumberRangeConstants.LESS }, { // equal to ... RegexCache.Get(NumbersDefinitions.OneNumberRangeEqualRegex, RegexFlags), NumberRangeConstants.EQUAL }, { // equal to 30 or more than, larger than 30 or equal to ... RegexCache.Get(NumbersDefinitions.OneNumberRangeMoreSeparateRegex, RegexFlags), NumberRangeConstants.MORE }, { // equal to 30 or less, smaller than 30 or equal ... RegexCache.Get(NumbersDefinitions.OneNumberRangeLessSeparateRegex, RegexFlags), NumberRangeConstants.LESS }, }; Regexes = regexes.ToImmutableDictionary(); }
public PercentageExtractor(NumberOptions options = NumberOptions.None) : base(NumberExtractor.GetInstance(options: options)) { Options = options; Regexes = InitRegexes(); }