首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式-如何翻译?

正则表达式-如何翻译?
EN

Stack Overflow用户
提问于 2011-04-30 00:48:43
回答 1查看 1.4K关注 0票数 4

你能为我翻译一些东西吗?我的男友是一名程序员,他发了一条我根本看不懂的帖子。

代码语言:javascript
运行
复制
 `^((((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$` 

什么意思?这是一条正常的文字消息,还是某种其他代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-30 00:55:10

它是一个尝试以d/m/y H:M:S格式匹配所有有效日期/时间的表达式,无论是否带有前导零,并且使用2位或4位数的年份,包括闰年的2月29日。我不确定他为什么要给你发这封信,除非你的谈话内容与你的谈话内容相关。

它会匹配:

  • 在1600年至9999年的任何年份的1月、3月、5月、7月、8月、10月或12月的31日,或除2月外的任何月份的29日或30日;
  • 在1604年至9996年的任何4年的倍数中的2月29日,或从1600年至9600年的400年的倍数中的2月29日;
  • 或1600年至9999年的任何月份的第1至28天;

外加24小时格式的时间。

看起来他没有考虑到闰秒。坏孩子。

编辑:

再次查看正则表达式,它看起来也与29/2/00 00:00:00不匹配。400年的倍数的闰年匹配不考虑两位数的年份。它真的不能以一种在80年左右(或者每当00开始表示2100而不是2000)的方式做到这一点,除非他想将00定义为软件预期寿命的2000,如果它存在那么长时间,就会冒着非常微妙的Y2.1K错误的风险。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5834905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档