你能为我翻译一些东西吗?我的男友是一名程序员,他发了一条我根本看不懂的帖子。
`^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$`
什么意思?这是一条正常的文字消息,还是某种其他代码?
发布于 2011-04-30 00:55:10
它是一个尝试以d/m/y H:M:S
格式匹配所有有效日期/时间的表达式,无论是否带有前导零,并且使用2位或4位数的年份,包括闰年的2月29日。我不确定他为什么要给你发这封信,除非你的谈话内容与你的谈话内容相关。
它会匹配:
外加24小时格式的时间。
看起来他没有考虑到闰秒。坏孩子。
编辑:
再次查看正则表达式,它看起来也与29/2/00 00:00:00
不匹配。400年的倍数的闰年匹配不考虑两位数的年份。它真的不能以一种在80年左右(或者每当00
开始表示2100而不是2000)的方式做到这一点,除非他想将00
定义为软件预期寿命的2000,如果它存在那么长时间,就会冒着非常微妙的Y2.1K错误的风险。
https://stackoverflow.com/questions/5834905
复制相似问题