我有系统日志字符串,如下所示:
lwiod[2469]: S-1-5-21-2071757552-4033313730-2397045981-3628|0xC94F000|LOGON|STATUS_SUCCESS|10.10.19.10|10.10.42.40|COMPANY\USERNAME
lwiod[2469]: S-1-5-21-2071757552-4033313730-2397045981-3628|0xC94F000|LOGON|STATUS_SUCCESS|10.10.19.10|10.10.42.40|USERNAME@COMPANY
lwiod[2469]: S-1-5-21-2071757552-4033313730-2397045981-3628|0xC94F000|LOGON|STATUS_SUCCESS|10.10.19.10|10.10.42.40|UNKNOWN
我有一个正则表达式来捕获我需要的一切,如下所示:
lwiod\[([0-9]+)\]: (.*)\|(.*)\|LOGON\|STATUS_(.*)\|(.*)\|(.*)\|(COMPANY\\.*|.*\@COMPANY|UNKNOWN)
我还需要该正则表达式做的是仅在字段 7 中给我 USERNAME OR UNKNOWN,我不想要 COMPANY(这是一个 AD 域名),但我遇到了麻烦。
字段 1 为 S-1-5-21-2071757552-4033313730-2397045981-3628,2 为 0xC94F000,...,7 为 USERNAME 或 UNKNOWN。
谢谢!