2017-01-03 3 views
0

Pythonのnltkツールキットを使用してJavaアプリケーションログを文に分割する正規表現を作成しようとしています。Pythonの正規表現to nltkでJavaアプリケーションログを文に分割する

私は、文章の中にテキストを分割するために、以下の使用してみました私は)(log_file_1_raw = log_file_1.readを介して可変に

をログファイルを読んだ

:log_file_1_raw変数なので

log_file_1_sent = re.split('^[2][0][1][6]-[0-1][0-9]-[0-3][0-9][a-zA-Z0-9 : , ! \. \-]+([\\][n])$', log_file_1_raw). 

を新しい行を\ nに変換します。これはログエントリの終わりを示し、各ログエントリはアメリカ式の日付で始まります。

上記のコードを実行すると、ログ全体が複数の文ではなく1つの文として終了します。

だから、私が数時間にわたってこれに執着しているので、誰かが私が正規表現に間違っているところを示すことができたら、私はそれを感謝します。

re.splitによって解析されたときに単一の文として返されるlog_file_1_rawの抜粋です。

2016-11-11 08:56:12,801 INFO mysite.co.uk.app.web.ips.controller.variables.Validator iatSYWX3SYnLrlEx0OtXPJJNun7iYe73gRtGa5G1YyIL89wmnJbg!49205849!1478850864631 - checking for each variable on page....\n 
2016-11-11 08:56:12,801 INFO mysite.co.uk.app.web.ips.controller.variables.Validator iatSYWX3SYnLrlEx0OtXPJJNun7iYe73gRtGa5G1YyIL89wmnJbg!49205849!1478850864631 - variable Name: 16691310467\n 
2016-11-11 08:56:12,801 INFO mysite.co.uk.app.web.ips.controller.variables.Validator iatSYWX3SYnLrlEx0OtXPJJNun7iYe73gRtGa5G1YyIL89wmnJbg!49205849!1478850864631 - variablesForm.getFileName: null\ 
+0

)(あなたはreadlinesでログファイルを読み込むしようとしています。 –

答えて

0

コードを適切にフォーマットしてください

with open('log.txt') as f: 
    lines = f.readlines() 

または

with open('log.txt') as f: 
    lines = f.read().splitlines() 
+0

Vikash、それは完璧に機能しました。私はnltkとPythonの両方に新しいです。手伝ってくれてどうもありがとう。 – NumptyDumpty

+0

Np @NumptyDumpty。どういたしまして :) –

関連する問題