我有这个正则表达式在所有条件时间格式匹配mm / dd / yyyy是完美的,但我需要稍微修改它
如果有人插入09/04/1980它的工作完美,但这个5/9/1990(1位数)会出错:(
有人可以帮我解决吗?
这是我现在的正则表达式:
(?:(?:0[1-9]|1[0-2])/(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))/(?:19|20)[0-9]{2}
答案 0 :(得分:1)
(?:(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0?[1-9]|1[0-2])-(?:30))|(?:(?:0?[13578]|1[02])-31))\/(?:19|20)[0-9]{2}
试试这个.Made 0
可选。
参见演示。
答案 1 :(得分:0)
请勿使用正则表达式。因为你没有指定语言,所以我会提供pesudocode。您只需要在\
上拆分并将数组元素转换为数字,然后执行简单的if
条件。
if(arr[0] < 0 && arr[0] > 32){
// validated the month
}