2

私はファイルの行を読み取るスクリプトを持っています..いくつかの行にはエラーメッセージが含まれています..そのため、それらの行を見つけてメッセージを抽出するためにループを作成しました(ここでは1行だけです):

import re

data = "15:31:17 TPP    E Line 'MESSAGE': There is a technical problem in the server."

if (re.findall(".*E Line.*",data)):
    err = re.match(r'\'MESSAGE\':\s(*$)',data)
    print err

このスクリプトを実行するとエラーが発生します:/返してほしい:

There is a technical problem in the server
4

2 に答える 2

1

これを試して:

import re

data = "15:31:17 TPP    E Line 'MESSAGE': There is a technical problem in the server."

r = re.compile("^.*E Line.*'MESSAGE':[ ]*([^ ].*)$")
m = r.match(data)
if m:
    err = m.group(1)
    print(err)

もちろん、ループの外で正規表現をコンパイルする必要があります。

于 2013-05-02T09:29:34.323 に答える