概述
Pure regular exprssion
(?x)(?:
(?#dd/mm)
(3[0-1]|[12][0-9]|0?[0-9])/(1[0-2]|0?[1-9])
|
(?#mm/dd)
(1[0-2]|0?[1-9])/(3[0-1]|[12][0-9]|0?[0-9])
)
/
(?#yy or yyyy)
(?:[0-9]{2})?[0-9]{2}
Regex with procedural code
def dateCheck(sDate):
import re
daysinmonth = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
validdate = 0
match = re.search("^(?P[0-3]?[0-9])/(?P[0-3]?[0-9])/(?P[0-9]{4})$", sDate)
if match:
month = int(match.group("month"))
day = int(match.group("day"))
year = int(match.group("year"))
if year < 50:
year += 2000
if year < 100:
year += 1900
if month == 2 and year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
if day >= 1 and day <= 29:
validdate = 1
elif month >=1 and month <= 12:
if day >=1 and day <= daysinmonth[month-1]:
validdate = 1
if validdate == 0:
print 'date is invalid!' % sDate
else:
print 'date is valid!' % sDate
def main():
while 1:
sDate = raw_input("Please input date (format is mm/dd/yyyy, exit to quit): ")
if sDate == 'exit':
break
else:
dateCheck(sDate)
main()
最后
以上就是天真眼神为你收集整理的python标准日期正则表达式_Python 正则表达式验证传统日期的全部内容,希望文章能够帮你解决python标准日期正则表达式_Python 正则表达式验证传统日期所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复