Beispiel #1
0
        public GermanMergedExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            DateExtractor           = new BaseDateExtractor(new GermanDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new GermanTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new GermanDateTimeExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new GermanDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new GermanTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new GermanDateTimePeriodExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new GermanDurationExtractorConfiguration(this));
            SetExtractor            = new BaseSetExtractor(new GermanSetExtractorConfiguration(this));
            HolidayExtractor        = new BaseHolidayExtractor(new GermanHolidayExtractorConfiguration(this));
            TimeZoneExtractor       = new BaseTimeZoneExtractor(new GermanTimeZoneExtractorConfiguration(this));
            IntegerExtractor        = Number.German.IntegerExtractor.GetInstance();
            DateTimeAltExtractor    = new BaseDateTimeAltExtractor(new GermanDateTimeAltExtractorConfiguration(this));

            AmbiguityFiltersDict = DefinitionLoader.LoadAmbiguityFilters(DateTimeDefinitions.AmbiguityFiltersDict);
        }
Beispiel #2
0
        public DutchDateTimeExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.Dutch.IntegerExtractor.GetInstance(numConfig);

            DatePointExtractor   = new BaseDateExtractor(new DutchDateExtractorConfiguration(this));
            TimePointExtractor   = new BaseTimeExtractor(new DutchTimeExtractorConfiguration(this));
            DurationExtractor    = new BaseDurationExtractor(new DutchDurationExtractorConfiguration(this));
            UtilityConfiguration = new DutchDatetimeUtilityConfiguration();
        }
 public SpanishDurationParserConfiguration(ICommonDateTimeParserConfiguration config) : base(config.Options)
 {
     CardinalExtractor      = config.CardinalExtractor;
     NumberParser           = config.NumberParser;
     DurationExtractor      = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration(), false);
     NumberCombinedWithUnit = SpanishDurationExtractorConfiguration.NumberCombinedWithUnit;
     AnUnitRegex            = SpanishDurationExtractorConfiguration.AnUnitRegex;
     AllDateUnitRegex       = SpanishDurationExtractorConfiguration.AllRegex;
     HalfDateUnitRegex      = SpanishDurationExtractorConfiguration.HalfRegex;
     SuffixAndRegex         = SpanishDurationExtractorConfiguration.SuffixAndRegex;
     UnitMap                = config.UnitMap;
     UnitValueMap           = config.UnitValueMap;
     DoubleNumbers          = config.DoubleNumbers;
     FollowedUnit           = SpanishDurationExtractorConfiguration.FollowedUnit;
     ConjunctionRegex       = SpanishDurationExtractorConfiguration.ConjunctionRegex;
     InexactNumberRegex     = SpanishDurationExtractorConfiguration.InexactNumberRegex;
     InexactNumberUnitRegex = SpanishDurationExtractorConfiguration.InexactNumberUnitRegex;
     DurationUnitRegex      = SpanishDurationExtractorConfiguration.DurationUnitRegex;
 }
        public TurkishDatePeriodExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            DatePointExtractor = new BaseDateExtractor(new TurkishDateExtractorConfiguration(this));
            DurationExtractor  = new BaseDurationExtractor(new TurkishDurationExtractorConfiguration(this));

            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            CardinalExtractor = Number.Turkish.CardinalExtractor.GetInstance();
            OrdinalExtractor  = Number.Turkish.OrdinalExtractor.GetInstance(numConfig);

            NumberParser = new BaseNumberParser(new TurkishNumberParserConfiguration(numConfig));
        }
        public ThaiMergedExtractorConfiguration(DateTimeOptions options)
        {
            Options                 = options | DateTimeOptions.Format24;
            DateExtractor           = new BaseDateExtractor(new ThaiDateExtractorConfiguration());
            TimeExtractor           = new BaseTimeExtractor(new ThaiTimeExtractorConfiguration(options));
            DateTimeExtractor       = new BaseDateTimeExtractor(new ThaiDateTimeExtractorConfiguration(options));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new ThaiDatePeriodExtractorConfiguration());
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new ThaiTimePeriodExtractorConfiguration(options));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new ThaiDateTimePeriodExtractorConfiguration(options));
            DurationExtractor       = new BaseDurationExtractor(new ThaiDurationExtractorConfiguration(options));
            SetExtractor            = null;
            HolidayExtractor        = null;
            TimeZoneExtractor       = null;
            DateTimeAltExtractor    = null;
            IntegerExtractor        = Number.Thai.IntegerExtractor.GetInstance();

            // if ((options & DateTimeOptions.EnablePreview) != 0)
            // {
            //     SuperfluousWordMatcher.Init(DateTimeDefinitions.SuperfluousWordList);
            // }
        }
        public EnglishMergedExtractorConfiguration(DateTimeOptions options)
        {
            Options                 = options;
            DateExtractor           = new BaseDateExtractor(new EnglishDateExtractorConfiguration());
            TimeExtractor           = new BaseTimeExtractor(new EnglishTimeExtractorConfiguration(options));
            DateTimeExtractor       = new BaseDateTimeExtractor(new EnglishDateTimeExtractorConfiguration(options));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new EnglishDatePeriodExtractorConfiguration());
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new EnglishTimePeriodExtractorConfiguration(options));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new EnglishDateTimePeriodExtractorConfiguration(options));
            DurationExtractor       = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration(options));
            SetExtractor            = new BaseSetExtractor(new EnglishSetExtractorConfiguration());
            HolidayExtractor        = new BaseHolidayExtractor(new EnglishHolidayExtractorConfiguration());
            TimeZoneExtractor       = new BaseTimeZoneExtractor(new EnglishTimeZoneExtractorConfiguration(options));
            DateTimeAltExtractor    = new BaseDateTimeAltExtractor(new EnglishDateTimeAltExtractorConfiguration());
            IntegerExtractor        = Number.English.IntegerExtractor.GetInstance();

            if ((options & DateTimeOptions.EnablePreview) != 0)
            {
                SuperfluousWordMatcher.Init(DateTimeDefinitions.SuperfluousWordList);
            }
        }
Beispiel #7
0
        public FrenchCommonDateTimeParserConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            UtilityConfiguration = new FrenchDatetimeUtilityConfiguration();

            UnitMap                = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap           = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap              = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            SpecialYearPrefixesMap = DateTimeDefinitions.SpecialYearPrefixesMap.ToImmutableDictionary();
            CardinalMap            = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek              = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear            = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers                = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers          = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades         = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases     = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            CardinalExtractor = Number.French.CardinalExtractor.GetInstance();
            IntegerExtractor  = Number.French.IntegerExtractor.GetInstance();
            OrdinalExtractor  = Number.French.OrdinalExtractor.GetInstance();

            NumberParser            = new BaseNumberParser(new FrenchNumberParserConfiguration(new BaseNumberOptionsConfiguration(config.Culture)));
            DateExtractor           = new BaseDateExtractor(new FrenchDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new FrenchTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new FrenchDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new FrenchDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new FrenchTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new FrenchDateTimePeriodExtractorConfiguration(this));

            // DurationParser should be assigned first, as DateParser would reference the DurationParser
            DurationParser       = new BaseDurationParser(new FrenchDurationParserConfiguration(this));
            DateParser           = new BaseDateParser(new FrenchDateParserConfiguration(this));
            TimeParser           = new BaseTimeParser(new FrenchTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new FrenchDateTimeParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new FrenchDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new FrenchTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new FrenchDateTimePeriodParserConfiguration(this));
            DateTimeAltParser    = new BaseDateTimeAltParser(new FrenchDateTimeAltParserConfiguration(this));
        }
 public SpanishCommonDateTimeParserConfiguration()
 {
     UnitMap           = InitUnitMap();
     UnitValueMap      = InitUnitValueMap();
     SeasonMap         = InitSeasonMap();
     CardinalMap       = InitCardinalMap();
     DayOfWeek         = InitDayOfWeek();
     MonthOfYear       = InitMonthOfYear();
     Numbers           = InitNumbers();
     CardinalExtractor = new CardinalExtractor();
     IntegerExtractor  = new IntegerExtractor();
     OrdinalExtractor  = new OrdinalExtractor();
     NumberParser      = new BaseNumberParser(new SpanishNumberParserConfiguration());
     DateExtractor     = new BaseDateExtractor(new SpanishDateExtractorConfiguration());
     TimeExtractor     = new BaseTimeExtractor(new SpanishTimeExtractorConfiguration());
     DateTimeExtractor = new BaseDateTimeExtractor(new SpanishDateTimeExtractorConfiguration());
     DurationExtractor = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration());
     DateParser        = new BaseDateParser(new SpanishDateParserConfiguration(this));
     TimeParser        = new BaseTimeParser(new SpanishTimeParserConfiguration(this));
     DateTimeParser    = new BaseDateTimeParser(new SpanishDateTimeParserConfiguration(this));
     DurationParser    = new BaseDurationParser(new SpanishDurationParserConfiguration(this));
 }
Beispiel #9
0
        public HindiMergedExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            DateExtractor           = new BaseDateExtractor(new HindiDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new HindiTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new HindiDateTimeExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new HindiDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new HindiTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new HindiDateTimePeriodExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new HindiDurationExtractorConfiguration(this));
            SetExtractor            = new BaseSetExtractor(new HindiSetExtractorConfiguration(this));
            HolidayExtractor        = new BaseHolidayExtractor(new HindiHolidayExtractorConfiguration(this));
            DateTimeAltExtractor    = new BaseDateTimeAltExtractor(new HindiDateTimeAltExtractorConfiguration(this));
            IntegerExtractor        = Number.Hindi.IntegerExtractor.GetInstance();

            AmbiguityFiltersDict = DefinitionLoader.LoadAmbiguityFilters(DateTimeDefinitions.AmbiguityFiltersDict);

            if ((Options & DateTimeOptions.EnablePreview) != 0)
            {
                SuperfluousWordMatcher.Init(DateTimeDefinitions.SuperfluousWordList);
            }
        }
        public ArabicDateTimePeriodExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            TokenBeforeDate = DateTimeDefinitions.TokenBeforeDate;

            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            CardinalExtractor = Number.Arabic.CardinalExtractor.GetInstance(numConfig);

            SingleDateExtractor     = new BaseDateExtractor(new ArabicDateExtractorConfiguration(this));
            SingleTimeExtractor     = new BaseTimeExtractor(new ArabicTimeExtractorConfiguration(this));
            SingleDateTimeExtractor = new BaseDateTimeExtractor(new ArabicDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new ArabicDurationExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new ArabicTimePeriodExtractorConfiguration(this));
        }
        public DutchCommonDateTimeParserConfiguration(IOptionsConfiguration config)
            : base(config)
        {
            UtilityConfiguration = new DutchDatetimeUtilityConfiguration();

            UnitMap                = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap           = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap              = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            SpecialYearPrefixesMap = DateTimeDefinitions.SpecialYearPrefixesMap.ToImmutableDictionary();
            CardinalMap            = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek              = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear            = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers                = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers          = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades         = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases     = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            CardinalExtractor = Number.Dutch.CardinalExtractor.GetInstance();
            IntegerExtractor  = Number.Dutch.IntegerExtractor.GetInstance();
            OrdinalExtractor  = Number.Dutch.OrdinalExtractor.GetInstance();

            TimeZoneParser          = new BaseTimeZoneParser();
            NumberParser            = new BaseNumberParser(new DutchNumberParserConfiguration());
            DateExtractor           = new BaseDateExtractor(new DutchDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new DutchTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new DutchDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new DutchDurationExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new DutchDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new DutchTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new DutchDateTimePeriodExtractorConfiguration(this));
            DurationParser          = new BaseDurationParser(new DutchDurationParserConfiguration(this));
            DateParser           = new BaseDateParser(new DutchDateParserConfiguration(this));
            TimeParser           = new TimeParser(new DutchTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new DutchDateTimeParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new DutchDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new DutchTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new DutchDateTimePeriodParserConfiguration(this));
            DateTimeAltParser    = new BaseDateTimeAltParser(new DutchDateTimeAltParserConfiguration(this));
        }
Beispiel #12
0
        public SwedishMergedExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            DateExtractor           = new BaseDateExtractor(new SwedishDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new SwedishTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new SwedishDateTimeExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new SwedishDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new SwedishTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new SwedishDateTimePeriodExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new SwedishDurationExtractorConfiguration(this));
            SetExtractor            = new BaseSetExtractor(new SwedishSetExtractorConfiguration(this));
            HolidayExtractor        = new BaseHolidayExtractor(new SwedishHolidayExtractorConfiguration(this));
            TimeZoneExtractor       = new BaseTimeZoneExtractor(new SwedishTimeZoneExtractorConfiguration(this));
            DateTimeAltExtractor    = new BaseDateTimeAltExtractor(new SwedishDateTimeAltExtractorConfiguration(this));

            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            if ((config.Options & DateTimeOptions.ExperimentalMode) != 0)
            {
                SinceRegex = SinceRegexExp;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.Swedish.IntegerExtractor.GetInstance(numConfig);

            AmbiguityFiltersDict = DefinitionLoader.LoadAmbiguityFilters(DateTimeDefinitions.AmbiguityFiltersDict);

            if ((Options & DateTimeOptions.EnablePreview) != 0)
            {
                SuperfluousWordMatcher.Init(DateTimeDefinitions.SuperfluousWordList);
            }
        }
Beispiel #13
0
        public ItalianCommonDateTimeParserConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();

            UnitMap            = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap       = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap          = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            CardinalMap        = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek          = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear        = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers            = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers      = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades     = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            CardinalExtractor = Number.Italian.CardinalExtractor.GetInstance();
            IntegerExtractor  = Number.Italian.IntegerExtractor.GetInstance();
            OrdinalExtractor  = Number.Italian.OrdinalExtractor.GetInstance();

            NumberParser            = new BaseNumberParser(new ItalianNumberParserConfiguration(new BaseNumberOptionsConfiguration(config.Culture)));
            DateExtractor           = new BaseDateExtractor(new ItalianDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new ItalianDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new ItalianDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new ItalianTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new ItalianDateTimePeriodExtractorConfiguration(this));
            DateParser           = new BaseDateParser(new ItalianDateParserConfiguration(this));
            TimeParser           = new TimeParser(new ItalianTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new ItalianDateTimeParserConfiguration(this));
            DurationParser       = new BaseDurationParser(new ItalianDurationParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new ItalianDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new ItalianTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new ItalianDateTimePeriodParserConfiguration(this));
            DateTimeAltParser    = new BaseDateTimeAltParser(new ItalianDateTimeAltParserConfiguration(this));
        }
        public DutchDurationParserConfiguration(ICommonDateTimeParserConfiguration config)
            : base(config)
        {
            CardinalExtractor      = config.CardinalExtractor;
            NumberParser           = config.NumberParser;
            DurationExtractor      = new BaseDurationExtractor(new DutchDurationExtractorConfiguration(this), false);
            NumberCombinedWithUnit = DutchDurationExtractorConfiguration.NumberCombinedWithDurationUnit;
            AnUnitRegex            = DutchDurationExtractorConfiguration.AnUnitRegex;
            DuringRegex            = DutchDurationExtractorConfiguration.DuringRegex;
            AllDateUnitRegex       = DutchDurationExtractorConfiguration.AllRegex;
            HalfDateUnitRegex      = DutchDurationExtractorConfiguration.HalfRegex;
            SuffixAndRegex         = DutchDurationExtractorConfiguration.SuffixAndRegex;
            FollowedUnit           = DutchDurationExtractorConfiguration.DurationFollowedUnit;

            ConjunctionRegex       = DutchDurationExtractorConfiguration.ConjunctionRegex;
            InexactNumberRegex     = DutchDurationExtractorConfiguration.InexactNumberRegex;
            InexactNumberUnitRegex = DutchDurationExtractorConfiguration.InexactNumberUnitRegex;
            DurationUnitRegex      = DutchDurationExtractorConfiguration.DurationUnitRegex;
            SpecialNumberUnitRegex = DutchDurationExtractorConfiguration.SpecialNumberUnitRegex;

            UnitMap       = config.UnitMap;
            UnitValueMap  = config.UnitValueMap;
            DoubleNumbers = config.DoubleNumbers;
        }
        public FrenchCommonDateTimeParserConfiguration(DateTimeOptions options) : base(options)
        {
            UtilityConfiguration = new FrenchDatetimeUtilityConfiguration();

            UnitMap            = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap       = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap          = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            CardinalMap        = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek          = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear        = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers            = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers      = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades     = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            CardinalExtractor = new CardinalExtractor();
            IntegerExtractor  = new IntegerExtractor();
            OrdinalExtractor  = new OrdinalExtractor();

            NumberParser            = new BaseNumberParser(new FrenchNumberParserConfiguration());
            DateExtractor           = new BaseDateExtractor(new FrenchDateExtractorConfiguration());
            TimeExtractor           = new BaseTimeExtractor(new FrenchTimeExtractorConfiguration());
            DateTimeExtractor       = new BaseDateTimeExtractor(new FrenchDateTimeExtractorConfiguration());
            DurationExtractor       = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration());
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new FrenchDatePeriodExtractorConfiguration());
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new FrenchTimePeriodExtractorConfiguration());
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new FrenchDateTimePeriodExtractorConfiguration());
            DateParser           = new BaseDateParser(new FrenchDateParserConfiguration(this));
            TimeParser           = new BaseTimeParser(new FrenchTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new FrenchDateTimeParserConfiguration(this));
            DurationParser       = new BaseDurationParser(new FrenchDurationParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new FrenchDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new FrenchTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new FrenchDateTimePeriodParserConfiguration(this));
            DateTimeAltParser    = new BaseDateTimeAltParser(new FrenchDateTimeAltParserConfiguration(this));
        }
Beispiel #16
0
 public GermanTimeExtractorConfiguration(DateTimeOptions options = DateTimeOptions.None) : base(options)
 {
     DurationExtractor = new BaseDurationExtractor(new GermanDurationExtractorConfiguration());
     TimeZoneExtractor = new BaseTimeZoneExtractor(new GermanTimeZoneExtractorConfiguration());
 }
Beispiel #17
0
        public PortugueseDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.Portuguese.IntegerExtractor.GetInstance(numConfig);
            OrdinalExtractor = Number.Portuguese.OrdinalExtractor.GetInstance(numConfig);
            NumberParser     = new BaseNumberParser(new PortugueseNumberParserConfiguration(numConfig));

            DurationExtractor    = new BaseDurationExtractor(new PortugueseDurationExtractorConfiguration(this));
            HolidayExtractor     = new BaseHolidayExtractor(new PortugueseHolidayExtractorConfiguration(this));
            UtilityConfiguration = new PortugueseDatetimeUtilityConfiguration();

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, RegexFlags);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, RegexFlags);

            // no|em 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, RegexFlags);

            // no|em 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, RegexFlags);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, RegexFlags);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, RegexFlags);

            // 2015-12-23
            var dateRegex10 = new Regex(DateTimeDefinitions.DateExtractor10, RegexFlags);

            // dia 15
            var dateRegex11 = new Regex(DateTimeDefinitions.DateExtractor11, RegexFlags);

            DateRegexList = new List <Regex>
            {
                // (domingo,)? 5 de Abril
                new Regex(DateTimeDefinitions.DateExtractor1, RegexFlags),

                // (domingo,)? 5 de Abril 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, RegexFlags),

                // (domingo,)? Abril 6
                new Regex(DateTimeDefinitions.DateExtractor3, RegexFlags),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegex10, dateRegex11 }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegex10, dateRegex11 });
        }
Beispiel #18
0
 public EnglishTimeExtractorConfiguration(IDateTimeOptionsConfiguration config)
     : base(config)
 {
     DurationExtractor = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration(this));
     TimeZoneExtractor = new BaseTimeZoneExtractor(new EnglishTimeZoneExtractorConfiguration(this));
 }
Beispiel #19
0
 public EnglishDatePeriodExtractorConfiguration()
 {
     DatePointExtractor = new BaseDateExtractor(new EnglishDateExtractorConfiguration());
     CardinalExtractor  = Number.English.CardinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration());
 }
 public FrenchTimeExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     DurationExtractor = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration(this));
     TimeZoneExtractor = new BaseTimeZoneExtractor(new FrenchTimeZoneExtractorConfiguration(this));
 }
Beispiel #21
0
 public GermanTimeExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     DurationExtractor = new BaseDurationExtractor(new GermanDurationExtractorConfiguration(this));
     TimeZoneExtractor = new BaseTimeZoneExtractor(new GermanTimeZoneExtractorConfiguration(this));
 }
        public TurkishDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.Turkish.IntegerExtractor.GetInstance();
            OrdinalExtractor = Number.Turkish.OrdinalExtractor.GetInstance();

            NumberParser         = new BaseNumberParser(new TurkishNumberParserConfiguration(new BaseNumberOptionsConfiguration(numConfig)));
            DurationExtractor    = new BaseDurationExtractor(new TurkishDurationExtractorConfiguration(this));
            HolidayExtractor     = new BaseHolidayExtractor(new TurkishHolidayExtractorConfiguration(this));
            UtilityConfiguration = new TurkishDatetimeUtilityConfiguration();

            ImplicitDateList = new List <Regex>
            {
                // extract "12" from "on 12"
                OnRegex,

                // extract "12th" from "on/at/in 12th"
                RelaxedOnRegex,

                // "the day before yesterday", "previous day", "today", "yesterday", "tomorrow"
                SpecialDayRegex,

                // "this Monday", "Tuesday of this week"
                ThisRegex,

                // "last/previous Monday", "Monday of last week"
                LastDateRegex,

                // "next/following Monday", "Monday of next week"
                NextDateRegex,

                // "Sunday", "Weds"
                SingleWeekDayRegex,

                // "2nd Monday of April"
                WeekDayOfMonthRegex,

                // "on the 12th"
                SpecialDate,

                // "two days from today", "five days from tomorrow"
                SpecialDayWithNumRegex,

                // "three Monday from now"
                RelativeWeekDayRegex,
            };

            if ((Options & DateTimeOptions.CalendarMode) != 0)
            {
                ImplicitDateList = ImplicitDateList.Concat(new[] { DayRegex });
            }

            // Gelecek Pazar (1 Nisan 2016)
            var dateRegex4 = RegexCache.Get(DateTimeDefinitions.DateExtractor4, RegexFlags);

            // 23-3-2015 (,Pazar|(Pazar))?
            var dateRegex5 = RegexCache.Get(DateTimeDefinitions.DateExtractor5, RegexFlags);

            // Gelecek Pazar (1-1-2016)
            var dateRegex6 = RegexCache.Get(DateTimeDefinitions.DateExtractor6, RegexFlags);

            // 6 Nisan'da or Altı Nisan'da
            var dateRegex7 = RegexCache.Get(DateTimeDefinitions.DateExtractor7, RegexFlags);

            // 2015 yılı Nisan'ın 6'sı(nda)? (Pazar)?
            var dateRegex8 = RegexCache.Get(DateTimeDefinitions.DateExtractor8, RegexFlags);

            // 6'ncı Çarşamba or Altıncı Çarşamba
            var dateRegex9 = RegexCache.Get(DateTimeDefinitions.DateExtractor9, RegexFlags);

            // "(Sunday,)? 7/23, 2018", year part is required
            var dateRegex7L = RegexCache.Get(DateTimeDefinitions.DateExtractor7L, RegexFlags);

            // "(Sunday,)? 7/23", year part is not required
            var dateRegex7S = RegexCache.Get(DateTimeDefinitions.DateExtractor7S, RegexFlags);

            // "(Sunday,)? 23/7, 2018", year part is required
            var dateRegex9L = RegexCache.Get(DateTimeDefinitions.DateExtractor9L, RegexFlags);

            // "(Sunday,)? 23/7", year part is not required
            var dateRegex9S = RegexCache.Get(DateTimeDefinitions.DateExtractor9S, RegexFlags);

            // (Sunday,)? 2015-12-23
            var dateRegexA = RegexCache.Get(DateTimeDefinitions.DateExtractorA, RegexFlags);

            DateRegexList = new List <Regex>
            {
                // 5 Nisan (Pazar|(Pazar)|,Pazar)? or 5 Nisan 2016 (Pazar|(Pazar)|,Pazar)?
                RegexCache.Get(DateTimeDefinitions.DateExtractor1, RegexFlags),

                // Gelecek ayın 6'sı(nda)? (Pazar)? or Gelecek ayın altısı(nda)? (Pazar)?
                RegexCache.Get(DateTimeDefinitions.DateExtractor3, RegexFlags),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy ?
                                                 new[] { dateRegex5, dateRegex8, dateRegex9L, dateRegex9S, dateRegex4, dateRegex6, dateRegex7L, dateRegex7S, dateRegexA } :
                                                 new[] { dateRegex4, dateRegex6, dateRegex7L, dateRegex7S, dateRegex5, dateRegex8, dateRegex9L, dateRegex9S, dateRegexA });
        }
        public EnglishDateExtractorConfiguration(IOptionsConfiguration config) : base(config)
        {
            IntegerExtractor     = Number.English.IntegerExtractor.GetInstance();
            OrdinalExtractor     = Number.English.OrdinalExtractor.GetInstance();
            NumberParser         = new BaseNumberParser(new EnglishNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration(this));
            UtilityConfiguration = new EnglishDatetimeUtilityConfiguration();
            ImplicitDateList     = new List <Regex>
            {
                OnRegex,
                RelaxedOnRegex,
                SpecialDayRegex,
                ThisRegex,
                LastDateRegex,
                NextDateRegex,
                SingleWeekDayRegex,
                WeekDayOfMonthRegex,
                SpecialDate,
                SpecialDayWithNumRegex,
                RelativeWeekDayRegex
            };

            if ((Options & DateTimeOptions.CalendarMode) != 0)
            {
                ImplicitDateList = ImplicitDateList.Concat(new[] { DayRegex });
            }

            const RegexOptions dateRegexOption = RegexOptions.IgnoreCase | RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // on (Sunday,)? 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // on (Sunday,)? 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // (Sunday,)? 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // (Sunday,)? 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // (Sunday,)? 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // ((this)? Sunday,)? April 5
                new Regex(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // ((this)? Sunday,)? April 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (Sunday,)? 6th of April
                new Regex(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy ?
                                                 new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegexA } :
                                                 new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegexA });
        }
Beispiel #24
0
 public ItalianTimeExtractorConfiguration(IDateTimeOptionsConfiguration config)
     : base(config)
 {
     DurationExtractor = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
     TimeZoneExtractor = new BaseTimeZoneExtractor(new ItalianTimeZoneExtractorConfiguration(this));
 }
Beispiel #25
0
        public EnglishDateExtractorConfiguration(IOptionsConfiguration config)
            : base(config)
        {
            IntegerExtractor = Number.English.IntegerExtractor.GetInstance();
            OrdinalExtractor = Number.English.OrdinalExtractor.GetInstance();

            NumberParser         = new BaseNumberParser(new EnglishNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration(this));
            UtilityConfiguration = new EnglishDatetimeUtilityConfiguration();

            ImplicitDateList = new List <Regex>
            {
                // extract "12" from "on 12"
                OnRegex,

                // extract "12th" from "on/at/in 12th"
                RelaxedOnRegex,

                // "the day before yesterday", "previous day", "today", "yesterday", "tomorrow"
                SpecialDayRegex,

                // "this Monday", "Tuesday of this week"
                ThisRegex,

                // "last/previous Monday", "Monday of last week"
                LastDateRegex,

                // "next/following Monday", "Monday of next week"
                NextDateRegex,

                // "Sunday", "Weds"
                SingleWeekDayRegex,

                // "2nd Monday of April"
                WeekDayOfMonthRegex,

                // "on the 12th"
                SpecialDate,

                // "two days from today", "five days from tomorrow"
                SpecialDayWithNumRegex,

                // "three Monday from now"
                RelativeWeekDayRegex,
            };

            if ((Options & DateTimeOptions.CalendarMode) != 0)
            {
                ImplicitDateList = ImplicitDateList.Concat(new[] { DayRegex });
            }

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, RegexFlags);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, RegexFlags);

            // on (Sunday,)? 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, RegexFlags);

            // on (Sunday,)? 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, RegexFlags);

            // "(Sunday,)? 7/23, 2018", year part is required
            var dateRegex7L = new Regex(DateTimeDefinitions.DateExtractor7L, RegexFlags);

            // "(Sunday,)? 7/23", year part is not required
            var dateRegex7S = new Regex(DateTimeDefinitions.DateExtractor7S, RegexFlags);

            // "(Sunday,)? 23/7, 2018", year part is required
            var dateRegex9L = new Regex(DateTimeDefinitions.DateExtractor9L, RegexFlags);

            // "(Sunday,)? 23/7", year part is not required
            var dateRegex9S = new Regex(DateTimeDefinitions.DateExtractor9S, RegexFlags);

            // (Sunday,)? 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, RegexFlags);

            DateRegexList = new List <Regex>
            {
                // (Sunday,)? April 5 or (Sunday,)? April 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor1, RegexFlags),

                // (Sunday,)? 6th of April
                new Regex(DateTimeDefinitions.DateExtractor3, RegexFlags),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy ?
                                                 new[] { dateRegex5, dateRegex8, dateRegex9L, dateRegex9S, dateRegex4, dateRegex6, dateRegex7L, dateRegex7S, dateRegexA } :
                                                 new[] { dateRegex4, dateRegex6, dateRegex7L, dateRegex7S, dateRegex5, dateRegex8, dateRegex9L, dateRegex9S, dateRegexA });
        }
Beispiel #26
0
 public PortugueseTimeExtractorConfiguration(IDateTimeOptionsConfiguration config)
     : base(config)
 {
     DurationExtractor = new BaseDurationExtractor(new PortugueseDurationExtractorConfiguration(this));
     TimeZoneExtractor = new BaseTimeZoneExtractor(new PortugueseTimeZoneExtractorConfiguration(this));
 }
 public EnglishTimeExtractorConfiguration(DateTimeOptions options = DateTimeOptions.None) : base(options)
 {
     DurationExtractor = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration());
     TimeZoneExtractor = new BaseTimeZoneExtractor(new EnglishTimeZoneExtractorConfiguration());
 }
 public SpanishDatePeriodExtractorConfiguration() : base(DateTimeOptions.None)
 {
     DatePointExtractor = new BaseDateExtractor(new SpanishDateExtractorConfiguration());
     CardinalExtractor  = Number.Spanish.CardinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration());
 }
Beispiel #29
0
        public GermanDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.German.IntegerExtractor.GetInstance(numConfig);
            OrdinalExtractor = Number.German.OrdinalExtractor.GetInstance(numConfig);
            NumberParser     = new BaseNumberParser(new GermanNumberParserConfiguration(new BaseNumberOptionsConfiguration(numConfig)));

            DurationExtractor    = new BaseDurationExtractor(new GermanDurationExtractorConfiguration(this));
            HolidayExtractor     = new BaseHolidayExtractor(new GermanHolidayExtractorConfiguration(this));
            UtilityConfiguration = new GermanDatetimeUtilityConfiguration();

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, RegexFlags);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, RegexFlags);

            // am 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, RegexFlags);

            // am 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, RegexFlags);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, RegexFlags);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, RegexFlags);

            // Nächstes Jahr (im Sommer)?
            var dateRegex10 = new Regex(DateTimeDefinitions.DateExtractor10, RegexFlags);

            // 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, RegexFlags);

            DateRegexList = new List <Regex>
            {
                // (Sonntag,)? 5. April
                new Regex(DateTimeDefinitions.DateExtractor1, RegexFlags),

                // (Sonntag,)? 5. April, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, RegexFlags),

                // (Sonntag,)? der 6. April, 2016
                new Regex(DateTimeDefinitions.DateExtractor3, RegexFlags),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy ?
                                                 new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegex10, dateRegexA } :
                                                 new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegex10, dateRegexA });
        }
 public ArabicTimeExtractorConfiguration(IDateTimeOptionsConfiguration config)
     : base(config)
 {
     DurationExtractor = new BaseDurationExtractor(new ArabicDurationExtractorConfiguration(this));
 }