私は約80,000行の.ascファイルを持っています。ファイルからいくつかの特定の行を抽出したいと思います。'two' 2つの正規表現間の正規表現
私は情報/行(150個の領域)を抽出したい特定の行(前後に1つ)を置くことで、より簡単にしようとしました。これが発生したとき
「スタート」正規表現(MSG\s*(\d{1,8})\sSHOWING\sSENTENCE)
ので、私はこれが
「終了」正規表現(MSG\s*(\d{1,8})\sSENTENCE\sGONE)
を発生した後に行を見てみたいので、私は何も持っていません「スタート」正規表現が再び表示されるまで戻りました。
ありこれら二つの正規表現の式の間の線の数百人であってもよいが、私は、私はPythonでこれについてどのように行くだろうこれらの正規表現の
(EFIX\sR\s*(\d{1,8})\s*(\d{1,8})\s*(\d{1,3})\s*(\d{1,3}).\d\s*(\d{1,3}).\d\s*(\d{1,4}) or (ESACC\sR\s*(\d{1,8})\s*(\d{1,8})\s*(\d{1,3})\s*(\d{1,3}).\d\s*(\d{1,3}).\d\s*(\d{1,4}).
に一致するものとなるでしょうか?
はここでルビーで同様のQ&Aです:のhttp:/ /stackoverflow.com/questions/17457440/ruby-line-by-li ne-match-range Rubyは..演算子をサポートしています。 Pythonでは、ループでコード化する必要があります。しかし、同じQ&Aにもその例が含まれています。 –
'EFIX ...'のパターンでは、 '.'はリテラルドットか1文字にマッチするドットですか? – Quinn
リテラルドットはyesです(@ccf)。 ESACCのR 1075390 144.3 526.2 \t \t 54.3 \t 547.2 \t 1.86 \t 162:私はこのようになりますtypicall –