用正则表达式组匹配去除括号

时间:2012-06-20 20:52:48

标签: regex splunk

我正在尝试使用splunk分析日志,我需要解析看起来像这样的行:

2012-06-20 20:35:13,980 INFO  [http-bio-8080-exec-72] (b50f3a81-f9e0-4ebf-b9e2-b007c8dd4cbf) interceptor.CustomLoggingOutInterceptor (AbstractLoggingInterceptor.java:149)     - Outbound Message

我有这个匹配的正则表达式:

(?i)^[^\]]*\]\s+(?P<FIELDNAME>[^ ]+)

这一部分:

2012-06-20 20:35:13,980 INFO  [http-bio-8080-exec-72] (b50f3a81-f9e0-4ebf-b9e2-b007c8dd4cbf)

使用群组我可以提取我需要的真实信息,即:

(b50f3a81-f9e0-4ebf-b9e2-b007c8dd4cbf)

唯一的问题是我不需要括号,我尝试过一些负面的前瞻/后瞻性谷歌搜索,不太了解正则表达式。

所以我的最终目标是捕获b50f3a81-f9e0-4ebf-b9e2-b007c8dd4cbf。感谢

1 个答案:

答案 0 :(得分:2)

(?i)^[^\]]*\]\s+\((?P<FIELDNAME>[^ ]+)\)

匹配并删除组1中的()

Play with the regex here