1

私は正規表現に非常に慣れていませんが、これをまとめるのに十分な調査を行いました。残念ながら、私はブロックにぶつかりました。この正規表現を PHP preg_match で使用して、いくつかのサーバー ログを解析し、「My String」の例のような特定の文字列を返します。

私の正規表現:

\b([0-9\:]+)\s\"ANTIHAKE\sFOUND:\s+(.*?)\s\(([^)]+)\)\s+REASON:\s+(.*?)\s+\(([^)]+)\)"  

私の文字列:

15:34:51 "ANTIHAKE FOUND:  Kevin (106534790)  REASON:  Global Var  (Monky_hax_toggled)"

最終的にここでの私の目標は、合計 5 つの変数 を
引き出す こと
です


私が抱えている特定の問題は、理由を捉えることです。「Global Var」を空白を含む 1 つの文字列としてキャプチャする方法がわかりません。誰かが私を助けてくれませんか?

ありがとう!
ジョン

4

2 に答える 2

0

これを試して:

([0-9]{2}:[0-9]{2}:[0-9]{2})\s+"ANTIHAKE FOUND:\s+([^(]+)\s+\(([0-9]+)\)\s+REASON:\s+([^(]+)\s+\(([^)]+)\)"

正規表現はあなたの例に合わせて調整されていることに注意してください。

于 2013-03-20T08:39:27.157 に答える
0

(.*?) の後の \s+ を削除するだけで問題ないようです-:

\b([0-9\:]+)\s\"ANTIHAKE\sFOUND:\s+(.*?)\s\(([^)]+)\)\s+REASON:\s+(.*?)\(([^)]+)\)
于 2013-03-20T08:42:58.593 に答える