我正在尝试创建一个解析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”之间的信息,以及作品的开始或停止。
这样我就可以建立一个已经开始或停止的服务列表。
对此的想法?
答案 0 :(得分: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')]
答案 1 :(得分:0)
我认为您可以使用此正则表达式提取数据:
The (.*?) service .*? (start|stop)
数据正在捕获第1组和第2组。
答案 2 :(得分:0)
我使用了Splunk Interactive现场提取器。
在搜索中使用以下正则表达式
对于服务类型
| rex "(?i)^The\s(?P<ServiceType>[^ ]+)\sservice"
服务状态
| rex "(?i)sent\sa\s(?P<ServiceStatus>[^ ]+)"
使用“ServiceType”和“ServiceStaus”字段获取更多结果和图表。
\ s用于空间或可以使用实际空间“”。