Cha*_*ala 58 regex expression regex-negation regex-lookarounds
以下是内容:
Subject:
Security ID: S-1-5-21-3368353891-1012177287-890106238-22451
Account Name: ChamaraKer
Account Domain: JIC
Logon ID: 0x1fffb
Object:
Object Server: Security
Object Type: File
Object Name: D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log
Handle ID: 0x11dc
Run Code Online (Sandbox Code Playgroud)
我需要捕捉该行中单词之后的Object Name:
单词.这是D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log
.我希望有人可以帮助我.
^.*\bObject Name\b.*$
匹配 - 对象名称
hwn*_*wnd 43
但是我需要匹配结果......不在匹配组中......
对于你想要做的事情,这应该有效.\K
重置比赛的起点.
\bObject Name:\s+\K\S+
Run Code Online (Sandbox Code Playgroud)
您也可以这样做以获得Security ID
比赛.
\bSecurity ID:\s+\K\S+
Run Code Online (Sandbox Code Playgroud)
Dal*_*las 41
以下内容对您有用:
[\n\r].*Object Name:\s*([^\n\r]*)
Run Code Online (Sandbox Code Playgroud)
您想要的匹配将在捕获组1中.
[\n\r][ \t]*Object Name:[ \t]*([^\n\r]*)
Run Code Online (Sandbox Code Playgroud)
类似但不允许诸如"blah Object Name:blah"之类的东西,并且如果在"Object Name:"之后没有实际内容,也要确保不捕获下一行
你快到了.使用以下正则表达式(启用多行选项)
\bObject Name:\s+(.*)$
Run Code Online (Sandbox Code Playgroud)
完全匹配将是
Object Name: D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log
Run Code Online (Sandbox Code Playgroud)
而被捕获的组将包含
D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log
Run Code Online (Sandbox Code Playgroud)
如果要直接捕获文件路径使用
(?m)(?<=\bObject Name:).*$
Run Code Online (Sandbox Code Playgroud)
这可能适合您,具体取决于您使用的语言:
(?<=Object Name:).*
Run Code Online (Sandbox Code Playgroud)
这是一个积极的回顾断言。可以在此处找到更多信息。
但是它不适用于 JavaScript。在您的评论中,我读到您将它用于 logstash。如果您对 logstash 使用 GROK 解析,那么它会起作用。您可以在此处自行验证:
https://grokdebug.herokuapp.com/
归档时间: |
|
查看次数: |
208721 次 |
最近记录: |