import re def extract_dates_and_times(text): date_patterns = [ r'\b\d{4}-\d{2}-\d{2}\b', r'\b\d{4}/\d{2}/\d{2}\b', r'\b(?:January|February|March|April|May|June|July|August|September|October|November|December) \d{1,2}(?:th|st|nd|rd)?\b', ] time_patterns = [ r'\b\d{1,2}:\d{2}(?:am|pm)?\b', r'\b\d{1,2}:\d{2}\b' ] date_regex = re.compile('|'.join(date_patterns), re.IGNORECASE) time_regex = re.compile('|'.join(time_patterns), re.IGNORECASE) dates = date_regex.findall(text) times = time_regex.findall(text) dates = list(set(dates)) times = list(set(times)) return dates, times text = """Hi, my name is Jane and my phone number is 555-123-4567. My email address is jane_doe@example.com. I live on 123 Main St. Apt. #456, and I was born on January 11th, 1990. I have an appointment on 2023-05-15 at 2:30pm at 789 Oak Ln. #3 and backup on 2023/05/21. Please give me a call or send me an email to confirm. In case the dates are unavailable, please set up a meeting sometime in June. I would love June 19th around 14:00. Thank you!""" dates, times = extract_dates_and_times(text) print("Found dates:", dates) print("Found times:", times)