0

WindowsLogonIDで終わるイベントを抽出しています...これは次のような意味です。

Special Privileges assigned to a new Logon: Logon Id: 0x007d

私はこれがそれを行うための最良の方法だと思いました:

^(?<event>.+)(?<=ID:\s\d+x[A-F\d]+)$

RegexOptions.RightToLeftを使用して、文字列の末尾から検索を開始します。

後読みを使用する{ID: LogonId }が存在しなかった場合、可能な限り迅速に失敗します。

右から左への良いテスターが見つからないので、私はここにいて、あなたの助けを求めています。

4

2 に答える 2

1

RightToLeftオプションまたは後読みが必要な理由がわかりません。次のような正規表現でテストしましたか?

(?i)^(?<event>.+)ID:\s\d+x[A-F\d]+$

...そしてそれが遅すぎることがわかりましたか?

于 2011-05-24T21:20:30.907 に答える
1

試合の位置を知ることができますか?Perlでは、次のことができます。

if ($str =~ /ID:\s\d+x[A-F\d]+$/i)
   say substr($str, 0, $-[0]);  # $-[0] is the starting pos of the match.
}

また

if ($str =~ /ID:\s\d+x[A-F\d]+$/ip)
   say ${^PREMATCH};
}
于 2011-05-24T21:33:47.170 に答える