我有三种类型的日志要解析:
消息#1:为移动设备创建长度(253)的用户名条目([email protected])aa:aa:aa:aa:aa:aa
预期比赛:
消息#2:移动用户名条目(hello)aa:aa:aa:aa:aa:aa
预期比赛:
消息#3使用用户帐户登录的访客用户(randomnonexistentuser)MAC地址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>[^\)]+)\)
...找到用户名(可以是电子邮件地址,单个单词等)。但同样,我不确定如何将其与其他两个命名组联系起来。
如何将这三个匹配调和在一起,以便在上面的三条消息中找到它们?
像这样的东西应该给你命名组中的所有东西:qazxsw poi