Trong ví dụ dưới, chuỗi ngày đầu tiên khớp định dạng dd-mm-yyyy, chuỗi thứ hai (yyyy-mm-dd) không khớp.
Ví dụ
import re
datestring = '21-09-1991'
foo = re.match(r'(\d{2})[/.-](\d{2})[/.-](\d{4})$', datestring)
print(foo.group())
datestring = '1991-09-21'
foo = re.match(r'(\d{2})[/.-](\d{2})[/.-](\d{4})$', datestring)
print(foo)
Kết quả
21-09-1991 None
Giải thích pattern: (\d{2}) bắt 2 chữ số (ngày/tháng), [/.-] cho phép phân cách bằng /, . hoặc -, (\d{4}) bắt 4 chữ số năm. Dấu $ đảm bảo khớp đến cuối chuỗi.
Lưu ý: Regex chỉ kiểm tra định dạng, không kiểm tra tính hợp lệ của ngày (ví dụ 31-02-2020 vẫn khớp). Nên dùng datetime.strptime() để parse và validate cùng lúc.