中文日期和时间的正则表达式解析与应用

使用 GPT-4o Mini 回答,作者 GPT4oMini.app

问题:

(今天|明天|后天|((下|下下|这|这个)?(周|星期)[一二三四五六日末])|(\d{1,2}|[一二三四五六七八九十]{1,2})月(\d{1,2}|[一二三四五六七八九十]{1,2})[日号]|春节|清明|劳动节|端午|中秋|国庆节)?\s*((早上|上午|中午|下午)?\s*([8-9]|10|11|12|[1-6]|八|九|十|十一|十二|一|二|三|四|五|六)点)

答案:

这个正则表达式用于匹配中文日期和时间的格式。以下是对其组成部分的详细解释:

  1. 日期部分

    • (今天|明天|后天|...):匹配“今天”、“明天”、“后天”。
    • ((下|下下|这|这个)?(周|星期)[一二三四五六日末]):匹配“这周一”、“下周二”等格式。
    • (\d{1,2}|[一二三四五六七八九十]{1,2})月(\d{1,2}|[一二三四五六七八九十]{1,2})[日号]:匹配“1月1日”、“二月二号”等格式。
    • 春节|清明|劳动节|端午|中秋|国庆节:匹配特定节日名称。
  2. 时间部分

    • \s*((早上|上午|中午|下午)?\s*([8-9]|10|11|12|[1-6]|八|九|十|十一|十二|一|二|三|四|五|六)点):匹配时间,允许有“早上”、“上午”、“中午”、“下午”等前缀,后面跟着小时(可以是数字或中文数字)。

这个正则表达式可以用于解析和提取中文文本中的日期和时间信息,适用于日程安排、事件提醒等场景。