我有一个Regex用于从日志中捕获某些字段。它适用于一种类型的日志条目。但有时候,我会得到一些不同的格式,它会占据不同的领域。
在给定的示例中,有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 +改变它,但它不能正常工作。