2017-09-11 12 views
0

大きなテキストファイルがあり、その中に多くのテキストがあります。メモ帳++特定の形式の行だけを保持する方法

すべての行に異なるテキストまたは書式があります。

特定の形式 "text1:text2"で行を保持し、残りを破棄する必要があります。

  1. 91.216.3.125:8085
  2. 141.101.132.98:8085
  3. テキストメッセージ、またはテキストメッセージは、構成および
  4. を送信する行為である:

    例えば、私は9行を持っていますasd1:BBC2

  5. qedrt2:b32sv
  6. 電子メッセージ、typic
  7. ショート・ミーssageサービス(SMS)。 I
  8. yugiias:tugida2
  9. nhcgdw:idwune

私は他のすべてを削除する必要があり、保存するためにのみ4、5、8、9行が必要です。

所望の出力:

  1. asd1:BBC2
  2. qedrt2:b32sv
  3. yugiias:tugida2
  4. nhcgdw:idwune
+0

私が通常行っていることは、一致しないものを見つけて、何も置き換えないことです。だからあなたは '^ [^:] * \ r \ n'にマッチし、何も置き換えられません。これは、コロンを持たない行を削除します。その後、 '^。* \ .. * \ r \ n'を見つけて、何も置き換えてドットを含むものを取り除きます。 –

+1

[パターンと一致しないものをすべて削除するにはどうすればいいですか?](https://stackoverflow.com/questions/20859891/how-can-i-delete-everything-that-is-not-matched-by -a-pattern) – AdrianHHH

答えて

0

次の正規表現は、あなたと一致する行を検索します所望のライン。あなたの例の入力を仮定すると、あなたがこれ以上複雑にする必要はありません。代表的なものである:

([a-z].*):(.*) 

あなたが別のファイルにしたいとそれらをコピーするすべての行を見つけることができます。元のファイルの 'many'行の中に一致する行がわずかしかない場合、これはより複雑な答えを構築して実行するのに比べて時間的に有効です。

これは実行可能な回答ですか?それとも、スクリプトを書いてそれをやりたいのですか?あなたがスクリプトをしたい言語のための任意の好み?

あなたが望むようなものを実現する方法はたくさんあります。より効果的に手助けをするために、より多くの制約や期待を与える必要があるかもしれません。

+2

あなたの正規表現はIPアドレスにもマッチしませんか?または私は混乱していますか? –

+0

@ Jerry-Jeremiah:あなたはまったく正しいです。完全にそれを逃した。私の失敗を捕まえてくれてありがとう。新しい(編集された)正規表現は少し良くなるはずです。 – jwpfox

関連する問題