正则表达式从日期/时间中排除字符

时间:2014-06-06 12:14:47

标签: regex

我正在尝试将日期/时间从邮件转换为其他格式但我在匹配日期和时间后丢失了曲目。

这就是我所拥有的:

<21>1 2014-06-06T14:32:50.010791+02:00 message etc

以下是我如何缩短日期和时间:

(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+).(\d+)+

产生:

2014-06-06T14:32:50.010791

这就是我想要的:

2014-06-06 14:32:50.010

1 个答案:

答案 0 :(得分:1)

只需使用\ d {3}代替(\ d +)+

(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+).\d{3}

\d+-\d+-\d+T\d+:\d+:\d+.\d{3}

P.S。

  • 要替换“T”,您可以使用.replace(“T”,“”)或类似方法。
  • 作为替代方案,您可以分组(...)T(...)然后使用组[0] +“”+组[1]
  • 使用是有道理的。而不是。