来自多种格式数据日志的捕获字段的正则表达式

时间:2017-07-14 16:10:47

标签: regex

我有一个Regex用于从日志中捕获某些字段。它适用于一种类型的日志条目。但有时候,我会得到一些不同的格式,它会占据不同的领域。

Demo

在给定的示例中,有2个不同的日志条目。正则表达式首次进入正常工作。

在第二个条目中,有3个不同的集合

  1.  314624K->314624K(419456K)
  2.  9862316K->9542223K(12478080K)
  3.  12261641K->11966292K(12478080K)

我的正则表达式正在跳过第一个并捕获接下来的两个。我想捕获前两次。

我的正则表达式:

(?=[^P]*(?:ParNew|P.*ParNew|PSYoungGen|DefNew)).*?(?P<ParNew_before_1>\d+)K->(?P<ParNew_after_1>\d+)K\((?P<young_heap_size>\d+)K\), (?P<par_new_duration>\d+\.\d+) secs\] (?P<ParNew_before_2>\d+)K\->(?P<ParNew_after_2>\d+)K\((?P<total_heap_size>\d+)

我认为问题在于我正在使用&#34;。*?&#34;。我试图用\ s +改变它,但它不能正常工作。

0 个答案:

没有答案