Глядя на исходный код, я вижу несколько регулярных выражений, которые в значительной степени объясняют, какие типы диапазонов могут быть проанализированы (я удалил некоторые строки, имеющие дело с локалями):
# "06/07/06 - 08/09/06"
self.DATERNG1 = self.RE_RDATE + r'\s?%(rangeseperator)s\s?' + self.RE_RDATE
# "march 31 - june 1st, 2006"
self.DATERNG2 = self.RE_RDATE3 + r'\s?%(rangeseperator)s\s?' + self.RE_RDATE3
# "march 1rd -13th"
self.DATERNG3 = self.RE_RDATE3 + r'\s?%(rangeseperator)s\s?(\d\d?)\s?(rd|st|nd|th)?'
# "4:00:55 pm - 5:90:44 am", '4p-5p'
self.TIMERNG1 = self.RE_RTIMEHMS2 + r'\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS2
# "4:00 - 5:90 ", "4:55:55-3:44:55"
self.TIMERNG2 = self.RE_RTIMEHMS + r'\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS
# "4-5pm "
self.TIMERNG3 = r'\d\d?\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS2
# "4:30-5pm "
self.TIMERNG4 = self.RE_RTIMEHMS + r'\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS2
Как вы можетевидите, есть разделитель, используемый во всех регулярных выражениях, чтобы решить, где разбить строку, а затем проанализировать начальную и конечную даты.
Следовательно, в качестве ответа на ваш вопрос, в настоящее время невозможно проанализировать одну фразу какдиапазон с текущей реализацией.