特定の単語の後、シーケンスで発生する最後のスペースまで一致する特定の文字セットを抽出しようとしています。
例:
FAILED on portal HTTP (10.1.1.1)
FAILED on portal TELNET 0 SSH (10.1.1.1)
O / Pを次のようにしたい:
HTTP
TELNET 0 SSH
現在、次の RegEX を使用して作業しています。
.+((?<=portal)[^\s]]+
あなたの誰かがこれについて私を助けることができれば役に立ちます:)
コメントから更新:
文章:
1368028793000 10.3.1.4 CISCO X AUTHENTICATION:SESSION User authentication attempt FAILED on portal TELNET 0 SSH (10.1.2.8:64940)
正規表現:
^(\d+).* (\S+\d) ([\w\s]+) (\w* ?AUTHENTICATION:SESSION) (.+) (([\w.]+):(\d+)).*
通常、サンプル文字列から取得したいグループは次のとおりです。
#1 - 1368028793000
#2 - 10.3.1.4
#3 - CISCO X
#4 - AUTHENTICATION:SESSION
#5 - User authentication attempt FAILED on portal
#6 - TELNET 0 SSH
#7 - 10.1.2.8
#8 - 6940