正则表达式匹配日期格式DD-MM-YYYY和DD / MM / YYYY

时间:2017-02-20 23:26:47

标签: regex validation date sublimetext3

我正在Sublime Text 3中使用一个大型文本文件,其中的条目由行分隔。我正在寻找一个正则表达式:

  • 匹配以DD-MM-YYYY格式
  • 显示的条目
  • 匹配以DD/MM/YYYY格式
  • 显示的条目

如果两者都太复杂,那么只需要第一个例子。

我没有做任何工作来实现这样的正则表达式,因为它实际上超出了我的知识,我不知道从哪里开始,并且查看处理日期格式的正则表达式验证的类似答案证实了这些怀疑对我来说。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

此正则表达式符合您的示例:

[0-9]{2}[-|\/]{1}[0-9]{2}[-|\/]{1}[0-9]{4}

但是如果你写错了日期(比如2月31日)这个正则表达式就匹配了它。

答案 1 :(得分:3)

此模式适用于您的条件。严格禁止月初至今,反之亦然。

^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$

此模式将匹配以下格式:(日期,月份,年份)

25.04.2017  
02.04.2017  
2.4.2017  

25/04/2017  
5/12/2017  
15/2/2017  

25-04-2017  
6-10-2017  
16-5-2017  

答案 2 :(得分:0)

检查此内容:

([0-2][0-9]|(3)[0-1])[-|\/](((0)[0-9])|((1)[0-2]))[-|\/]\d{4}

我认为这是您答案的最佳选择。日期最多需要31天,每月最多需要12天。