我想解析三种日志:
消息1:为移动aa:aa:aa:aa:aa:aa:aa创建的用户名条目(random@somewhere.org)的长度(253)
预期匹配项:
消息2:删除了移动设备aa:aa:aa:aa:aa:aa的用户名条目(hello)
预期匹配项:
消息#3 来宾用户使用用户帐户(randomnonexistentuser)登录,MAC地址aa:aa:aa:aa:aa:aa:aa,IP地址127.0.0.1。
预期匹配项:
到目前为止,我拥有此正则表达式来标识MAC地址(在三个示例中的两个示例中标记为移动地址):https://regex101.com/r/qFE95M/14
我也有这个正则表达式...
(?P<IP_address>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})
...查找IP地址。但是,我不确定如何仅使该命名组为可选,并将其与MAC地址段绑定在一起。
最后,我有这个正则表达式...
^[^\(\n]*\((?P<user_account>[^\)]+)\)
...查找用户名(可以是电子邮件地址,单个单词等)。但同样,我不确定如何将其与其他两个命名组联系起来。
如何将这三个匹配项进行协调,以便在上面的三个消息中找到它们?