2011-09-13 8 views
0

可能性の重複:ヘルプには、正規表現記述する必要が

 Using data from (yyyy/mm/dd): 2011/8/3 
     0 files queued for scanning. 
     Warning: E:\test\foo 
     Händler.pdf File not Found. 
     Loading com, please wait. 
     1520 file scanned. 

は私が検出する正規表現を書きたい:次のように
help need to write regex

私は、ログファイルがフォーマットされています警告メッセージと使用日 私の出番は のようになります{ '使用されている日付': '2011年8月3日'、 '警告': 'E:が見つかりません\テスト\ fooというのHändler.pdfファイル'}:

logd = re.compile("Using\sdata\sfrom\s\(yyyy/mm/dd\):\s(? P<Defs_Date>\d{4}/\d+/\d+)[^\w\d] ") 
data = Re.search(logd, log).groupdict() 
出力のみ、以下

私が試したが、私が得ました

出力は次のようになります。

{'Defs_Date': '2011/8/3'} 

誰もが私が私が探している情報を抽出するために、私の正規表現を更新助けることができますか?

答えて

1

ログファイルの広い視野外では、これはあなたを助けるかもしれない:

In [1]: import re 

In [2]: txt = open('foo.log', 'r').read() 

In [3]: regexp = re.compile(r'''Using data.+\): (?P<Defs_Date>\d{4}/\d+/\d+).+(?P<Warning>Warning: .+)Loading.+scanned.''', re.S) 

In [4]: regexp.search(txt).groupdict() 
Out[4]: 
{'Defs_Date': '2011/8/3', 
'Warning': 'Warning: E:\\test\\foo\n  H\xc3\xa4ndler.pdf File not Found.\n  '} 

プロセス、ニーズに合わせて出力します。

関連する問題