2012-04-02 9 views
1

正規表現を使用して2つの日付間ですべてのログファイルを取得しようとしています。開始日と終了日の間の日付の正規表現

私の現在の表現は^logfile-?('20120101')です。

Fromは「20120101」、終了は「20120131」です。

特定のログファイルを見つけることは問題ありません。between-days-conditionを定義する際に問題があります。

+2

正規表現はおそらくこのために必要なツールではありませんが、私たちが手助けできるようにサンプル入力と希望する出力を提供します。 – alan

+0

シェルからそれらを入手するには?どれ?それとも他の言語で? –

+0

ルビーです。私は日付のどちらでも使用可能なuptoメソッドを見つけました。しかし、私はまだ同じを行う正規表現に興味があります:) – baris

答えて

-1

正規表現の日付部分については、201201\d\dを検索すれば十分です。これは、 "20120100"から "20120199"までのすべての文字列と一致するため、1月に毎日一致します。

だから、おそらくこのようなものは、それを行うだろう:^logfile-?('201201\d\d')

をあなたは(7月21日まで、7月7日から例えば)同じ月内の特定の期間にそれを減らしたい場合、それは次のようになります。

201207(0[7-9]|1[0-9]|2[0-1]) 
+0

これは 'from is" 20120405 "ではなく、" 20120503 "のような正確な日付境界でのみ動作します。 –

+0

私は理解しますが、私は日数を減らしたいので、私は言うことができます:7月7日から7月21日までにすべてのログファイルを取得します。 「開始」と「終了」は同じ月にあります。 – baris

+0

@ user1086092:更新された回答を参照 – splash

関連する問題