0

我正在尝试创建一个正则表达式,它将解析 Windows 日志事件中句子的一部分。

例如,EventCode=7035 生成以下内容:

The Network Location Awareness (NLA) service was.....sent a start
The Network Connection service was....sent a stop
The HTTP service was....sent a start
The HTTP service was....sent a stop
etc...

我想解析的是,只是“The”和“service”之间的信息,以及工作的开始或停止。

这样我就可以建立一个已经启动或停止的服务列表。

对此有什么想法?

4

3 回答 3

0

Python 中的一个示例(问题中的文本在 中s):

re.findall("(The.*?service).*?(start|stop)",s)

给出:

[('The Network Location Awareness (NLA) service', 'start'),
 ('The Network Connection service', 'stop'),
 ('The HTTP service', 'start'), ('The HTTP service', 'stop')]
于 2012-06-26T03:50:17.207 回答
0

我认为您可以使用此正则表达式提取数据:

The (.*?) service .*? (start|stop)

数据在捕获组 1 和 2 中。

于 2012-06-26T03:50:17.530 回答
0

我使用了 Splunk Interactive 字段提取器。

在您的搜索中使用以下正则表达式

对于服务类型

| rex "(?i)^The\s(?P<ServiceType>[^ ]+)\sservice" 

服务状态

| rex "(?i)sent\sa\s(?P<ServiceStatus>[^ ]+)"

使用“ServiceType”和“ServiceStaus”字段获取更多结果和图表。

\s 是空间或可以使用实际空间“”。

于 2012-07-05T14:28:15.770 回答