【问题标题】:Need a regex expression to validate timestamp with utc需要一个正则表达式来使用 utc 验证时间戳
【发布时间】:2015-07-22 00:53:55
【问题描述】:

我的日期格式如下:- 2014-08-17T14:07:30+05212015-05-21T14:07:30+0521

现在我想要一个 regex 表达式 可以验证这种日期格式..

我尝试使用此处给出的以下格式How to check an UTC formatted date with a regular expression?:-

\d{4}-[0-1]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-6]\d:\d{3}\+\d\d:\d\d

但没能成功.. 由于我对这个正则表达式非常陌生,我发现很难构建可以使用 utc 成功验证 above timestamp 格式的表达式

请注意,我想要正则表达式,其他解决方案选项对我不起作用

谢谢

【问题讨论】:

  • 有什么理由你特别想为此使用正则表达式而不是仅仅解析它?
  • 你的正则表达式中的最后一个 : 似乎不合适
  • 其实我的请求里有..我已经解析了请求,我只需要一个表达式来验证它
  • 你如何定义“验证”?这是否包括验证闰年规则,即验证 2 月 29 日对于给定年份是否合适?如果你也想要这个,那么至少用正则表达式很难说。
  • @MenoHochschild 验证 .. 验证格式

标签: java regex datetime timestamp utc


【解决方案1】:

试试这个:

\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{4}

【讨论】:

  • 谢谢 .. 你能在没有转义字符 \d 和 \+ 的情况下修改它吗?
  • 将 \d 替换为 [0-9] 您需要的 \+ 因为这是字符 + 的正则表达式
【解决方案2】:

您可以使用以下内容(您正在使用的最后有不同的匹配):

\d{4}-[0-1]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\+\d{4}

编辑:在 Java 中,您可以使用以下内容:

\\d{4}-[0-1]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+\\d{4}

【讨论】:

  • 谢谢 .. 你能在没有转义字符 \d 和 \+ 的情况下修改它吗?
  • @AnirbanSenChowdhary 检查更新和.. 你为什么要它没有转义字符?
【解决方案3】:

是的,我使用的最终解决方案:-

\d{4}-[0-1]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\+\d{4}

【讨论】:

    【解决方案4】:
     ^((19|20)[0-9][0-9])[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[T]([01][1-9]|[2][0-3])[:]([0-5][0-9])[:]([0-5][0-9])([+|-]([01][0-9]|[2][0-3])[:]([0-5][0-9])){0,1}$
    

    2018-11-11T11:01:59+11:11

    https://www.regextester.com/100092

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多