正则表达式(Regular Expression,简称Regex)是处理字符串的一种强大工具,在Python中尤其如此。通过正则表达式,我们可以轻松地匹配、查找、提取或替换字符串中的特定模式。本文将深入探讨如何使用Python正则表达式来高效地提取各类日期。

1. 基础概念

在开始提取日期之前,我们需要了解一些正则表达式的基础概念:

  • 元字符:正则表达式中的特殊字符,用于定义字符集、量词等。
  • 字符集:用于匹配一组字符的模式。
  • 量词:用于指定匹配的次数。

2. 日期格式

日期的格式多种多样,常见的有:

  • “YYYY-MM-DD”
  • “DD/MM/YYYY”
  • “MM-DD-YYYY”
  • “YYYY/MM/DD”
  • “DD-MM-YYYY”
  • “YYYY.MM.DD”
  • “DD.MM.YYYY”
  • “MM/DD/YYYY”
  • “MDY”
  • “DMY”
  • “YMD”

3. 编写正则表达式

为了提取上述格式的日期,我们可以编写以下正则表达式:

”`python import re

通用日期正则表达式

date_pattern = r’\b(?:\d{4}-\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}-\d{4}|\d{4}.\d{2}.\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}/\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{2}-\d{2}-\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-\d{2}|\d{2}.\d{2}.\d{4}|\d{4}/\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|\d{2}-\d{2}/\d{4}|\d{4}.\d{2}-