正则表达式匹配日期格式

正则表达式匹配日期格式

在数据处理和文本分析中,常常需要使用正则表达式来匹配特定格式的日期。日期是非常常见的数据类型,不同格式的日期也有许多种。本文将会介绍如何使用正则表达式匹配一些常见的日期格式,方便大家在数据处理时能快速准确地提取日期信息。

日期格式介绍

在介绍具体的正则表达式之前,我们先来看看一些常见的日期格式。

日期格式示例

以下是一些常见的日期格式示例:

  • 2021-08-25
  • 2021年8月25日
  • 08/25/2021
  • Aug. 25th, 2021
  • 25-Aug-2021
  • 2021.8.25

日期格式解析

  • 2021-08-25

这是一个以”-“为分隔符的日期格式。其中”2021″代表年份,”08″代表月份,”25″代表日。

  • 2021年8月25日

这是一个包含中文字符的日期格式。其中”2021″代表年份,”8″代表月份,”25″代表日。

  • 08/25/2021

这个日期格式以”/”为分隔符。其中”08″代表月份,”25″代表日,”2021″代表年份。

  • Aug. 25th, 2021

这个日期格式中包含了英文单词缩写。其中”Aug.”代表月份的缩写,”25th”代表日,”2021″代表年份。

  • 25-Aug-2021

这个日期格式以”-“为分隔符。其中”25″代表日,”Aug”代表月份的缩写,”2021″代表年份。

  • 2021.8.25

这个日期格式以”.”为分隔符。其中”2021″代表年份,”8″代表月份,”25″代表日。

常用正则表达式

下面是一些常用的正则表达式,用于匹配不同的日期格式。

匹配格式”yyyy-mm-dd”

[0-9]{4}-[0-9]{2}-[0-9]{2}

这个正则表达式能匹配以”-“为分隔符的日期格式,如”2021-08-25″。

import re

date_str = "2021-08-25"
pattern = r'[0-9]{4}-[0-9]{2}-[0-9]{2}'

re.findall(pattern, date_str)

输出结果:

['2021-08-25']

匹配格式”yyyy年m月d日”

[0-9]{4}年[0-9]{1,2}月[0-9]{1,2}日

这个正则表达式能匹配包含中文字符的日期格式,如”2021年8月25日”。

import re

date_str = "2021年8月25日"
pattern = r'[0-9]{4}年[0-9]{1,2}月[0-9]{1,2}日'

re.findall(pattern, date_str)

输出结果:

['2021年8月25日']

匹配格式”mm/dd/yyyy”

[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}

这个正则表达式能匹配以”/”为分隔符的日期格式,如”08/25/2021″。

import re

date_str = "08/25/2021"
pattern = r'[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}'

re.findall(pattern, date_str)

输出结果:

['08/25/2021']

匹配格式”Aug. 25th, yyyy”

[a-zA-Z]{3}\. [0-9]{1,2}(st|nd|rd|th), [0-9]{4}

这个正则表达式能匹配含有英文单词缩写和日期序数词的日期格式,如”Aug. 25th, 2021″。

import re

date_str = "Aug. 25th, 2021"
pattern = r'[a-zA-Z]{3}\. [0-9]{1,2}(st|nd|rd|th), [0-9]{4}'

re.findall(pattern, date_str)

输出结果:

['Aug. 25th, 2021']

匹配格式”dd-mmm-yyyy”

[0-9]{1,2}-[a-zA-Z]{3}-[0-9]{4}

这个正则表达式能匹配以”-“为分隔符的日期格式,如”25-Aug-2021″。

import re

date_str = "25-Aug-2021"
pattern = r'[0-9]{1,2}-[a-zA-Z]{3}-[0-9]{4}'

re.findall(pattern, date_str)

输出结果:

['25-Aug-2021']

匹配格式”yyyy.m.d”

[0-9]{4}\.[0-9]{1,2}\.[0-9]{1,2}

这个正则表达式能匹配以”.”为分隔符的日期格式,如”2021.8.25″。

import re

date_str = "2021.8.25"
pattern = r'[0-9]{4}\.[0-9]{1,2}\.[0-9]{1,2}'

re.findall(pattern, date_str)

输出结果:

['2021.8.25']

结论

在数据分析和处理中,我们经常需要在文本中提取出日期。使用正则表达式来匹配日期格式是一个高效快捷的方法。在本文中,我们介绍了一些常见的日期格式以及相应的正则表达式。通过这些示例,希望可以帮助大家更好地理解和应用正则表达式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程