正则表达式改变午夜过去的时间值

时间:2012-04-23 12:10:20

标签: regex timestamp splunk

我有一个应用程序日志,时间戳是01-24(而不是00-23),我正在尝试搜索并将“24”替换为“00”,例如

15.03.2012 24:59:58 - SIRENG INFO  com.app.funnction.info
15.03.2012 01:01:02 - SIRENG INFO  com.app.funnction.moreinfo

应该返回

15.03.2012 00:59:58 - SIRENG INFO  com.app.funnction.info
15.03.2012 01:01:02 - SIRENG INFO  com.app.funnction.moreinfo

到目前为止我已经

([0-9+]+).([0-9]+).([0-9\.$]+) ([0-9]+):([0-9]+):([0-9]+)

1 个答案:

答案 0 :(得分:1)

搜索此正则表达式

([0-9]+\.[0-9]+\.[0-9]{4}) 24:([0-9]+:[0-9]+)

或者如果您的正则表达式引擎支持shorthand character classes,则可以使用此正则表达式

(\d\d\.\d\d\.\d{4}) 24:(\d\d:\d\d)

并将其替换为

$1 00:$2
  • $ 1 =第一组:([0-9]+\.[0-9]+\.[0-9]{4})将匹配15.03.2012
  • $ 2 =第二组:([0-9]+:[0-9]+)将匹配59:58