2017-09-03 13 views
-1

標準モジュール「re」を使用して、現在の日付から3日古いエントリを取得/解析することは可能ですか?日付範囲でエントリをキャプチャ/解析する

以下は、キャプチャエントリを取得する場所のサンプルファイルです。

あなたはその後、時間とともにreモジュールで文字列を抽出し、する必要が
xx: xxxxxx ; xxxx: 2017-09-2T14:13:17 ; xxxxxxxx: xxxxxxxxxxxxxxxxxxxxxxxxxx 
+0

何卒、私はあなたがもう一度あなたの質問を墨消しべきだと思います。 reモジュールは、正規表現をマッチングさせて代用するためのモジュールです。ここでは、3日以上経過した式の抽出(キャプチャではない)を求めています。これは、モジュールが設計されていない計算を意味します。 質問に詳細を追加してください – madtyn

答えて

0

from datetime import datetime 
capturedEntries = [] 
THREE_DAYS = datetime.timedelta(3) 

# I suppose you'are reading lines in another way, but as an example... 
for entry in entries: 
    # I'm assuming each entry follows the format 
    # xx: xxxxxx ; xxxx: 2017-09-2T14:13:17 ; xxxxxxxx: xxxxxxxxxxxxxxxxxxxxxxxxxx 
    stringDate = re.search(r'\d{4}-\d{1,2}-\d{1,2}T\d{2}:\d{2}:\d{2}', line) 
    if stringDate.group(): 
     parsedDate = datetime.strptime(stringDate.group(), '%Y-%m-%dT%H:%M:%S') 
     timeFromDate = (datetime.today() - parsedDate) 
     if timeFromDate > THREE_DAYS: 
      # We save only the datetimes you asked for in datetime format 
      # For string format, replace parsedDate for stringDate 
      capturedEntries.append(parsedDate)