Python 中的日期 Regex:指南

你好,亲爱的 蟒蛇-开发人员

作为开发人员,我们在日常工作中经常需要处理日期。有很多库可以帮助我们完成这项工作,但有时使用正则表达式(regex)是最简单的方法。在这篇博文中,我将介绍不同的 regex 模式,以提取不同格式的日期。

为什么选择 Regex?

正则表达式提供了一种快速高效的方法、 文本中的模式 来识别。例如,如果您在一个大的 文字量 Regex 通常是最快的解决方案,尽管 NLP 模型 自然会提供特殊的机会。

不同日期格式的 Regex

MM/DD/YYYY 或 MM-DD-YYYY

\b(0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])[-/](19\d\d|20\d\d)\b

日/月/年或日-月-年

\b(0[1-9]|[12]\d|3[01])[-/](0[1-9]|1[0-2])[-/](19\d\d|20\d\d)\b

YYYY/MM/DD 或 YYYY-MM-DD

\b(19\d\d|20\d\d)[-/](0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])\b

MM-DD-YY 或 MM/DD/YY

\b(0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])[-/](\d\d)\b

年-月-日(ISO 8601)

\b(19\d\d|20\d\d)-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])\b

Python 代码示例

下面是一个简单的示例,说明如何在 蟒蛇 可以使用:

导入 re
def find_dates(text, pattern):
    return re.findall(pattern, text)
text = "日期是 09/02/2023,另一个日期是 12-12-2024。"
pattern = r"\b(0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])[-/](19\d\d|20\d\d)\b"
dates = find_dates(text, pattern)
print("Dates found:", dates)

闭幕词

在 Python 中使用 regex 识别日期是一项宝贵的技能,可以为您节省大量时间。不过请注意,这些模式对于少于 31 天的月份或闰年并不适用,因为 regex 只能实现固定的规则。对于更复杂的需求,应该使用专门的日期库,如 dateutil大熊猫Konfuzio SDK 考虑。

希望本指南对你有所帮助!如果您有任何问题或建议,请随时留言。

下次再见

"
"
Florian Zyprian 的头像

最新文章