2016-12-07 14 views
0

私は、数千行のテキストファイルから特定の文字列を抽出したいと思います。ファイルには、保存するのに重要な空の行があります。私はすべての文字列にマッチすることができますが、同じ行にある文字列を削除している間はそれらを保持することはできません。私は否定的な先取りを試みました - 彼らは1行につきパターンの1つのインスタンスにマッチするだけです。RegEx抽出文字列、行をそのまま保持する

私はSublimeTextを使用していましたが、コマンドラインの正規表現インタープリタも使用できました。私のデータは、このようになります

.... 
Some Text, more text 
[empty line] 
Silberdruck 
Golddruck, Silberdruck 
[empty line] 
Some Text, Silberdruck 
Golddruck some text, Silberdruck 
... 

私は*のDRUCKをcontaingすべての単語を維持する必要があり、そのデータは次のようになります。

....  
[empty line] 
[empty line] 
Silberdruck 
Golddruck, Silberdruck 
[empty line] 
Silberdruck 
Golddruck Silberdruck 
.... 

パターンは行ごとに複数回表示されることがあります。

ありがとうございました!

+0

サブライムで '(\ h * \ w * druck \ b [[:punct:] \ h] *)| .' - >' $ 1'を試してください –

+0

ありがとう、これはうまくいきます! – kbecker87

答えて

0

あなたは

(\h*\w*druck\b[[:punct:]\h]*)|. 

を使用し、$1

詳細で置き換えることがあります。

  • (\h*\w*druck\b[[:punct:]\h]*) - グループ1
    • 01のシーケンスをキャプチャ- 0+水平空白
    • \w* - 0+ワード文字
    • druck\b - ゼロ以上の句読点や水平空白
  • | - - 又は
  • druckは、ワード境界
  • [[:punct:]\h]*で追跡. - 改行以外の任意の文字char
+0

それはあなたのために働いてうれしい。左の✓をクリックして回答を受け入れることを検討してください([回答を受け入れる方法](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照) 。 –

関連する問題