首页 > 解决方案 > 忽略令牌正则表达式中的字符串

问题描述

我试图解析日志文件并且很难尝试忽略令牌中的字符串。

我试图解析的部分日志:

[Wed Mar 06 20:56:27.121877 2019]

我想为日期创建一个令牌,在该日期应该忽略第二年之后的任何值,如下所示:

Mar 06 20:56:27 2019

我的正则表达式字符串现在看起来像这样:

\[\S+ (\S+ \d+ \d+:\d+:\d+)

标签: javaregexarcsight

解决方案


你可以这样做:

public class MyClass {
  public static void main(String args[]) {
    String test = "[Wed Mar 06 20:56:27.121877 2019]";
    String[] arr = test.split(" ");
    System.out.println(arr[1]+" "+arr[2]+" "+arr[3].substring(0,8)+" "+arr[4].substring(0,4));
  }
}

输出:

2019 年 3 月 6 日 20:56:27


推荐阅读