年月日正则表达式

作者&投稿:澄省 (若有异议请与网页底部的电邮联系)
年月—年月日的正则表达式~

一般来说,条件越多的正则表达式越严格,但表述起来也越麻烦,你可以根据需要选择不同的正则表达式去判别 只检查格式: \d{4}-\d{2}(-\d{2})? 简单的日期判定(比如说2000-02-30仍然通过判定): \d{4}-(((0[1-9])|(1[0-2])))(-((0[1-9])|([1-2][0-9])|(3[0-1])))? 比较严格的日期判定(但还是没有闰年2月29的判定): \d{4}-(((0(1|3|5|7|8))|(1(0|2)))(-((0[1-9])|([1-2][0-9])|(3[0-1])))?)|(((0(2|4|6|9))|(11))(-((0[1-9])|([1-2][0-9])|(30)))?)|((02)(-((0[1-9])|([1-2][0-9])))?) 严格的日期判定(包括闰年的判定): (\d{4}-(((0(1|3|5|7|8))|(1(0|2)))(-((0[1-9])|([1-2][0-9])|(3[0-1])))?)|(((0(2|4|6|9))|(11))(-((0[1-9])|([1-2][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)))-02-29)

您好,((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])

(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]

|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))

([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]

|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))

([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-

9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/

\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)

([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])

(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])

([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89]

[2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|

(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/

\._])(29)$)|(^([1][89][13579][26])([-\/\._])

(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579]

[26])([-\/\._])(0?2)([-\/\._])(29)$))

闰年的2月份有29天,因此匹配闰年日期格式为

YYYY-MM-DD的正则表达式为:

(([0-9]{2})(0[48]|[2468][048]|[13579][26])

|((0[48]|[2468][048]|[3579][26])00))-02-29

最后,将平年和闰年的日期验证表达式合并,

我们得到最终的验证日期格式为YYYY-MM-DD

的正则表达式为:

(([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))-02-29)

DD/MM/YYYY格式的正则验证表达式为:

(((0[1-9]|[12][0-9]|3[01])/((0[13578]|1

[02]))|((0[1-9]|[12][0-9]|30)/(0[469]|11))|

(0[1-9]|[1][0-9]|2[0-8])/(02))/([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}))|(29/02/(([0-9]{2})(0

[48]|[2468][048]|[13579][26])|((0[48]|

[2468][048]|[3579][26])00)))

【13-9】代表的含义并不是【139】,因为【】运算符取得只是括号内的单一字符,因此它表达的含义是 1月后者3到9月中的任何一个月,比如输入的是1月会匹配,但如果是二月就不会匹配,类似的,输入3到9月的任何一月都会匹配。




如何从时间字符串中获取单独的年月日
Pattern p=Pattern.compile("(\\\\d{4})-(\\\\d{1,2})-(\\\\d{1,2})");\/\/从时间字符串中获取年,月,日的正则表达式 if (StringUtils.isBlank(StrTime)) {       Matcher m=p.matcher(endTime);    if(m.find()){   ...

年月正则表达式
于是月份的正则表达式可以设计为:var reMonth=\/0[1-9]|1[0-2]\/;对于年份的正则表达式,我们同样也可以用|这个运算符来解决,考虑从1900-2099这个范围的日期(当然你可以根据需要,任意设定,原理一样),则可以设计年份正则表达式如下:var reYear=\/19|20\\d{2}\/;于是年月正则表达式就可以设计如下...

用JAVA正则表达式怎么匹配年月日(比如要求输入为出生日期)
建议使用 ^(\\d{2}|\\d{4})[-\/](0?[1-9]|1[12])[-\/](0?[1-9]|[12]\\d|3[01])$ 来匹配(日期不一定有效),然后尝试转换成日期.如果要严谨点可以用^(\\d{2}|\\d{4})[-\/](((0?[13578]|10|12)[-\/](0?[1-9]|[12]\\d|3[01]))|((0?[469]|11)[-\/](0?[1-...

正则表达式日期格式转换?
(?<![0-9])([1-9])([日月])0\\1\\2 分两次替换就行了,第一次都改成00月00日这种格式的,然后再进行一次替换

***年**月**日 PHP preg match all 这样的正则表达式怎么写。
php正则表达式:'\/([0-9]{4})年(0?[1-9]|1[0-12])月(0?[1-9]|[1-2][0-9]|3[01])日\/'匹配以下格式的日期:1982年8月23日 1982年08月03日 1982年8月2日

如何用正则表达式从字符串中提取年月日
可以使用正则表达式中的分组来实现,代码参考如下:Pattern p=Pattern.compile("(\\\\d{4})-(\\\\d{1,2})-(\\\\d{1,2})"); Matcher m=p.matcher("x20xxx1984-10-20xxx19852x"); if(m.find()){ System.out.println("日期:"+m.group()); System.out.println("年:"+m.group...

一个日期时间的正则表达式,年月日时分秒毫秒都要的,时分秒毫秒可有_百...
20[012]\\d-[01]\\d-[0123]\\d\\s\\d\\d:\\d\\d:\\d\\d:\\d\\d\\d

php应用:获取日期正则表达式:\\\\d{4}[年|\\-|\\.]\\d{\\1-\\12}[月|\\-|\\...
^\\d{4}(年|\\-|\\.)(0?[1-9]|1[0-2])(月|\\-|\\.)(0?[1-9]|[1-2]\\d|3[0-1])日?这种是还是有缺陷的你可以看到最后一个,还有就是2月31日这样的也会被匹配的。不过应对一般日期还是可以的。

匹配一个正则表达式, 月份-日期-一到三位数字 如,6-15-1 12-6-10...
\\b(?:(?:[13578]|10|12)-(?:3[0-1]|2[0-9]|1[0-9]|[1-9])|(?:[469]|11)-(?:30|2[0-9]|1[0-9]|[1-9])|2-(?:[12][0-9]|[1-9]))-\\d{1,3}\\b 带日期校验,稍有点长

时分的正则表达式 求正则表达式,只能输入年月日时分 比如201812121212_百 ...
如果要匹配字符串中的年月日时分用正则表达式 [0-9]{4}[0-9]{1,2}[0-9]{1,2}[0-9]{1,2}[0-9]{1,2} 就行了 如果要验证输入的年月日时分是否正确,就要用这个正则表达式了 ^((?!0000)[0-9]{4}((0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-...

建湖县17331444343: 年月—年月日的正则表达式能否写一个正则表达式,即可以匹配年月日,又可以匹配到年月? -
胡真美洛:[答案] 一般来说,条件越多的正则表达式越严格,但表述起来也越麻烦,你可以根据需要选择不同的正则表达式去判别 只检查格式: \d{4}-\d{2}(-\d{2})? 简单的日期判定(比如说2000-02-30仍然通过判定): \d{4}-(((0[1-9])|(...

建湖县17331444343: 求日期格式正则表达式
胡真美洛: 匹配yyyy-mm-dd的正则如下 \d{4}-\d{2}-\d{2}

建湖县17331444343: 怎么用正则表达式来验证日期啊 (yyyy - MM - dd) -
胡真美洛: 1>.首先需要验证年份,显然,年份范围为 0001 - 9999,匹配YYYY的正则表达式为: [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-9] 也可以表示为 \d,但 \d 不如 [0-9] 直观,因此下面我将一直采用 [0-9]<BR><BR>用正则...

建湖县17331444343: 正则表达式无法使用?
胡真美洛: 1.年月日正则表达式^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26]...

建湖县17331444343: 年月日日期正则 -
胡真美洛: 正则只负责校验...不负责转换...你校验出2014年08月25日之后 把年月日 替换成-就OK啊

建湖县17331444343: 正则表达式 日期 -
胡真美洛: 最简单的正则 如 : \d{4}-\d{2}-\d{2} 但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题.....对于日期的有效范围,不同的应用场景会有所不同.MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到9999-12-31 23:59:...

建湖县17331444343: 谁帮我写个验证日期的正则表达式 -
胡真美洛: /^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/;<br>这个是1900-2099,简单验证1-12月,1-31日,对于2月30这样的不管.如果都验证,这个正则表达式会很长,你看懂这个自己就会改了.例如:<br><html><br><body><br><script language="...

建湖县17331444343: 合法的日期怎样用正则表达式描述 -
胡真美洛: 合法日期的格式太多了.举个例子:要匹配2015-11-11这样的格式 正则表达式:\d{4}-\d{1,2}-\d{1,2} \d表示匹配数字,\d{4}表示匹配4位数字,\d{1,2}表示匹配1-2位数.如果需要更精确的判断,可以把月份换成1[0-2]|[1-9]表示只能是1-12,日期同理.但是建议将这种判断放到程序代码里,因为正则表达式只擅长匹配,应该将判断交给代码.同理4/23/2015这样的格式,可以用\d{1,2}/\d{1,2}/\d{4}匹配.如果需要同事匹配这两种格式,可以在中间加 | 号,表示或者.\d{4}-\d{1,2}-\d{1,2}|\d{1,2}/\d{1,2}/\d{4}

建湖县17331444343: 求8位出生年月日(中间不带符号)验证.要求月份是01到12,日是01到31的正则表达式 -
胡真美洛: (19[0-9]{2}|200[0-9]|201[0-8])(0[1-9]|1[0-2])([0-2][1-9]|10|20|30|31)

建湖县17331444343: 求,使用正则表达式,表示出出生日期必须大于1993年,日期格式为 (yyyy - mm). -
胡真美洛: (200\d{1}|20[0-1][0-2]|199[3-9])-(1[0-2]|0*\d{1}) 可以填写,1993年到今年的

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网