我需要将RegEX放入OpenNMS配置文件中。我试图从系统日志消息中获取第一个IP地址。格式为:
Sep 13 08:36:37 192.168.75.254 %ASA-4-106023: Deny tcp src outside:144.5.5.255/
56607 dst inside:192.168.75.102/23 by access-group "outside_access_in" [0x0, 0x0]
到目前为止,我有:
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
将获取所有三个IP地址。我如何将其限制为一个?
在NMS配置文件中,我需要填写以下几行:
forwarding-regexp="regex here"
matching-group-host="2"
matching-group-message="3"
所以我需要一个正则表达式,只将第一个IP放入一个组,同时为整个Syslog消息创建一个组
答案 0 :(得分:2)
好像你想要
\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*([\s\S]*)
请参阅regex demo
<强>详情
\b
- 字边界(\d{1,3}(?:\.\d{1,3}){3})
- 第1组:
\d{1,3}
- 1至3位数字(?:\.\d{1,3}){3}
- 出现3次点,然后是1到3位数(\d{3}
)\s*
- 0+ whitespaces ([\s\S]*)
- 第2组:尽可能多的零个或多个字符(*
是一个贪婪的量词)。