MST

星途 面试题库

面试题:Python正则表达式之高级匹配模式 - 高级难度

假设你有一个复杂的文本,其中包含一些日期信息,日期格式有两种:一种是'YYYY - MM - DD',另一种是'YYYY/MM/DD',但年份必须是1900到2024之间,月份必须是1到12之间,日期必须是1到31之间(暂不考虑大小月及闰年情况)。请使用Python的正则表达式实现一个函数,能够从文本中准确提取出所有符合格式的日期,并以列表形式返回。
47.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import re


def extract_dates(text):
    pattern = r'(19[0-9]{2}|20[0-2][0-4])[-/](0?[1-9]|1[0-2])[-/](0?[1-9]|[12][0-9]|3[01])'
    return re.findall(pattern, text)