zoukankan      html  css  js  c++  java
  • 正则表达式--指定时间格式校验

    1、对闰年平年的划分,关键是看2月最后一天是28还是29进行划分

    ^((([0-9]{2})(0[48]|[2468][048]|[13579][26]))   #闰年,能被4整除但不能被100整除
    
    |((0[48]|[2468][048]|[13579][26])00)   #闰年,能被400整除
    
    -02-29) #匹配闰年2月29日这一天。如果不是这一天,则由下面式子继续匹配验证。
    
    |([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}) #平年(0001-9999)
    
    -(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))   #月日,1、3、5、7、8、10、12月有31天
    
    |((0[469]|11)-(0[1-9]|[12][0-9]|30))   #月日,4、6、9、11月有30天
    
    |(02-(0[1-9]|[1][0-9]|2[0-8])))   #平年2月只有28天,月日表示为【02-01至02-28】

    2、一种指定格式的时间格式校验,精确到毫秒3位

    --正则表达式:校验精确到3位毫秒的时间戳字符串,时间格式'YYYYMMDDHH24MISSFF3'
    
    select REGEXP_SUBSTR('20180227112155333', '((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))(([0-1]d|2[0-3])[0-5]d[0-5]dddd)', 1, 1) t from dual;

    3、Java校验yyyy-MM-dd HH:mm:ss日期格式的字符串

    ^((\d{2}(([02468][048])|([13579][26]))\-((((0?[13578])|(1[02]))\-((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))\-((0?[1-9])|([1-2][0-9])|(30)))|(0?2\-((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))\-((((0?[13578])|(1[02]))\-((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))\-((0?[1-9])|([1-2][0-9])|(30)))|(0?2\-((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s((([0-1][0-9])|(2?[0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))$
  • 相关阅读:
    HTML5结构
    HTML5新增的非主体元素header元素、footer元素、hgroup元素、adress元素
    CF GYM 100703G Game of numbers
    CF GYM 100703I Endeavor for perfection
    CF GYM 100703K Word order
    CF GYM 100703L Many questions
    CF GYM 100703M It's complicate
    HDU 5313 Bipartite Graph
    CF 560e Gerald and Giant Chess
    POJ 2479 Maximum sum
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/9595728.html
Copyright © 2011-2022 走看看