有没有人知道reqex语法只过滤Windows事件日志中的第二个帐户名?我不想要第一个帐户名称,但我提到的第二个帐户名称是已删除的帐户,这是我有兴趣查找的内容。
我能够同时取得这两项但我真的只想拥有第二个帐户
示例:
<13>May 23 15:11:00 14.5.15.1 AgentDevice=WindowsLog AgentLogFile=Security Source=Microsoft-Windows-Security-Auditing Computer=john.doe User= Domain= EventID=4726 EventIDCode=4726 EventType=8 EventCategory=13824 RecordNumber=4156926121 TimeGenerated=1472042299838 TimeWritten=1472048832838 Message=A user account was deleted. Subject: Security ID: S-1-5-21-37618230-746332178-285459281-20341 Account Name: AdminGuy Account Domain: Some Logon ID: 0x2q45w29b1 Target Account: Security ID: S-1-5-21-37438650-746321018-288529281-12311 Account Name: JohnDoe Account Domain: Some Additional Information: Privileges -
\sAccount\sName\:\s(.*?)\
这只是拉动两个帐户名称的一个示例。但有谁知道如何只提取第二个帐户名称?
在上面的例子中,第二个帐户名称是帐户名称:
JohnDoe
答案 0 :(得分:0)
也许使用类似这样的东西:
\sAccount\sName:\s.*\sAccount\sName:\s([^\s]*)\
答案 1 :(得分:0)
这是模式:
(?ms)Account\s+Name.*?(Account\s+Name:\s+)(\w+)
但是你需要收集捕获括号。在此正则表达式中,帐户名称在组号中。 2.您使用的语言/库为您提供了一种访问捕获括号捕获文本的方法。
答案 2 :(得分:0)
对于Graylog,这是正确的正则表达式:
Account Name:.*?Account Name:(\s*(\S*))