HH:MM:SS AM/PM
Can we accommodate the following?
* HH:MM AM/PM
* HH:MM
* H:MM
* H AM/PM
DD/MM/YY
DD/MM/YYYY
Abbreviations for Months and Days of the Week?
Months
* January
* February
* March
* April
* May
* June
* July
* August
* September
* October
* November
* December
Days of the Week
* Monday
* Tuesday
* Wednesday
* Thursday
* Friday
* Saturday
* Sunday
Relative Days
* Today
* Tomorrow
* Yesterday
Time of Day
* Breakfast
* Lunch
* Dinner
* Morning
* Noon
* Evening
* Tonight
* Night
* Now
* Midnight
How about??
* Afternoon
* Brunch
* Dawn
* Dusk
* Twilight
PREPOSITIONS = r'(?P<special>^[in|on|of|at]+)\s+'
UNITS = r'(?P<qty>(-?\d+\s*(?P<units>((hour|hr|minute|min|second|sec|day|dy|week|wk|month|mth|year|yr)s?))))'
SINGLE_CHAR_UNITS = r'(?P<qty>(-?\d+\s?(?P<qunits>h|m|s|d|w|m|y)(\s|,|$)))'
MODIFIER = r'(?P<modifier>(previous|prev|last|next|this|eo|(end\sof)|(in\sa)))'
MODIFIER2 = r'(?P<modifier>(from|before|after|ago|prior))'
# 5:50:00
TIMEHMS = r'(?P<hours>\d\d?)(?P<tsep>:)(?P<minutes>\d\d)(?:(?P=tsep)(?P<seconds>\d\d(?:[.,]\d+)?))?'
# 5:50:00 (am/pm)
TIMEHMS2 = r'(?P<hours>(\d\d?))((?P<tsep>:)(?P<minutes>(\d\d?))(?:(?P=tsep)(?P<seconds>\d\d?(?:[.,]\d+)?))?)?\s?(?P<meridian>(am|pm|a.m.|p.m.|a|p))'
# 07/21/06 (dd/mm/yy(yy))
DATE = r'(?P<date>((?P<yr>(\d\d\d\d))[/|.|\\|-](?P<mth>(\d\d?))[/|.|\\|-](?P<dy>(\d\d?))))'
# July 21st, 2006
DATE_STR = r'(?P<date>((?P<mthname>(january|jan|february|feb|march|mar|april|apr|may|june|jun|july|jul|august|aug|september|sep|october|oct|november|nov|december|dec))\s?((?P<day>\d\d?)(\s|rd|st|nd|th|,|$)+)?(?P<year>\d\d\d\d)?))'
MONTH = r'(?P<month>((?P<mthname>(january|jan|february|feb|march|mar|april|apr|may|june|jun|july|jul|august|aug|september|sep|october|oct|november|nov|december|dec))(\s?(?P<year>(\d\d\d\d)))?))'
WEEKDAY = r'(?P<weekday>(monday|mon|tuesday|tue|wednesday|wed|thursday|thu|friday|fri|saturday|sat|sunday|sun))'
NLP_DAY = r'(?P<day>(today|tomorrow|yesterday))'
NLP_TIME = r'\s*(?P<time>(morning|breakfast|noon|lunch|evening|midnight|tonight|dinner|night|now))'