正则表达式从多种数据模式中提取多个字段

时间:2017-12-07 12:05:13

标签: regex

我必须从数据中提取多个字段。有时数据模式略有不同,所以我希望它应该适用于所有这些模式。

我写过正则表达式,但它并不完美。

我的正则表达式保存在: https://regex101.com/r/V1gWZW/1

以下是我要提取的字段。

enter image description here

PS:正则表达式并非特定于任何语言。我将在Splunk Tool中使用它。

1 个答案:

答案 0 :(得分:1)

我自己解决了这个问题。

最终工作正则表达式: https://regex101.com/r/V1gWZW/4

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

由于