如果数据中只存在匹配的文本,则使用正则表达式提取字段

时间:2017-07-04 12:49:27

标签: regex

我想从大日志文件中提取特定字段的所有出现。我已经创建了一个正常运行的正则表达式。

我唯一想要强调的是,当该行中存在特定文本(CMS-initial-mark)时,它应该提取该字段。

现在我的正则表达式提取了必要的字段,尽管" CMS-initial-mark"提取线中存在。

PS:我没有将这个具体用于某些语言。我将在数据分析工具SPLUNK中使用它。

工作正则表达式:

^[^,\n]*,\s+(?P<cms_initial_mark>[^ ]+)

示例日志文件:

  

* 2017-06-20T12:17:49.238 + 0200:103.708:[GC(CMS初始标记)[1 CMS-initial-mark:968087K(1346344K)] 1066049K(2113128K), 0.0128291   secs] [次:用户= 0.08 sys = 0.01,真= 0.01秒]

     

0.954:[GC [1 CMS-initial-mark:15929K(21888K)] 17147K(31680K), 0.0017910 secs] [次:用户= 0.00 sys = 0.00,实际= 0.00秒] *

输出:0.0128291         0.0017910

0 个答案:

没有答案