以下がコンテンツです。
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
その行のObject Name:
Wordの後の単語をキャプチャする必要があります。これはD:\ApacheTomcat\Apache-Tomcat-6.0.36\logs\localhost.2013-07-01.log
です。誰かが私を助けてくれることを願っています。
^.*\bObject Name\b.*$
一致-オブジェクト名
以下はあなたのために働くはずです:
[\n\r].*Object Name:\s*([^\n\r]*)
希望する一致はキャプチャグループ1にあります。
[\n\r][ \t]*Object Name:[ \t]*([^\n\r]*)
同様ですが、「blah Object Name:blah」などを許可せず、「Object Name:」の後に実際のコンテンツがない場合は次の行をキャプチャしないようにします。
しかし、試合結果は...試合グループではなく...
あなたがしようとしていることのために、これは動作するはずです。 \K
は、一致の開始点をリセットします。
\bObject Name:\s+\K\S+
Security ID
マッチを取得する場合も同じことができます。
\bSecurity ID:\s+\K\S+
あなたはほとんどそこにいます。次の正規表現を使用します(複数行オプションを有効にして)
\bObject Name:\s+(.*)$
完全な一致は
Object Name: D:\ApacheTomcat\Apache-Tomcat-6.0.36\logs\localhost.2013-07-01.log
一方、キャプチャされたグループには
D:\ApacheTomcat\Apache-Tomcat-6.0.36\logs\localhost.2013-07-01.log
ファイルパスを直接キャプチャする場合は、
(?m)(?<=\bObject Name:).*$
これは、使用している言語に応じて解決する場合があります
(?<=Object Name:).*
これは肯定的な後読みの主張です。詳細情報が見つかりました こちら
ただし、Javaスクリプトでは動作しません。あなたのコメントで、私はあなたがlogstashにそれを使用していると読みました。 logstashにGROK構文解析を使用している場合、動作します。ここで自分自身を確認できます