gpt4 book ai didi

regex - 正则表达式 - 如何翻译它?

转载 作者:行者123 更新时间:2023-12-05 00:04:24 26 4
gpt4 key购买 nike

你能为我翻译一些东西吗?我男 friend 是程序员,发了一条我完全看不懂的帖子。

^((((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$

这是什么意思?它是带有文字的普通消息还是某种其他代码?

最佳答案

这是一个试图匹配 d/m/y H:M:S 中所有有效日期/时间的表达式格式,带或不带前导零,并使用 2 位或 4 位数字年份,包括闰年的 2 月 29 日。不知道他为什么要给你发这个,除非你的谈话背景让它以某种方式相关。

它会匹配:

  • 从 1600 年到 9999 年的任何一年的一月、三月、五月、七月、八月、十月或十二月的第 31 天,或除二月以外的任何一个月的第 29 或 30 天;
  • 从 1604 年到 9996 年的任何 4 年但不是 100 年的倍数,或从 1600 年到 9600 年的 400 年的倍数中的 2 月 29 日;
  • 或从 1600 到 9999 的任何一年中任何一个月的第 1-28 天;

  • 加上 24 小时制的时间。

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

    编辑:

    再次查看正则表达式,它看起来也不匹配 29/2/00 00:00:00 . 400 年倍数的闰年匹配不考虑两位数的年份。除非他想定义 00,否则它真的不能以一种在 80 年左右(或每当 00 开始表示 2100 而不是 2000)的方式中断。意味着软件的预期生命周期为 2000 年,如果它存活那么久,就有可能出现非常微妙的 Y2.1K 错误。

    关于regex - 正则表达式 - 如何翻译它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5834905/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com