2016-09-24 3 views
0

どのようにして一致するグループのみを保持し、残りのテキストを削除できますか?Regex - マッチするグループ以外のすべてを削除する(サブライム3を使用)

使用:崇高3 - 正規表現は私のパターンは、私は維持したい

1.5.1 Bla bla bla 
text text text 
text text text 
1.5.2 Bla bla bla 
text text text 

ある

これだけ

1.5.1 Bla bla bla 
1.5.2 Bla bla bla 

私は除いてすべてをグループのみを選択するように管理することはできませんが、それら。

リンク:https://regex101.com/r/pV9xU6/2

+0

どのような言語ですか? –

+0

'5.1.' +任意の数字と、残りの行と次の行とをマッチさせ、残りをすべて削除する必要があるのですか? –

+1

'(?s)^(1 \ .5 \。\ d + [^ \ n] * \ n [^ \ n] * \ n)| .'を試して、' $ 1'で置き換えてください。あなたがデモで持っているものとは違うので、パターン開始時にハードコードされた数字を調整したいかもしれません) –

答えて

1

のコメントによると、それはいくつかの方法で行うことができますありがとう:

Find: (?s)^(1\.5\.\d+[^\n]*\n[^\n]*\n)|.  /gm 
Replace: $1 

または

Find (general way): (*SKIP)(*F)|.*\R* 
Find: (1[.]5[.]\d+.*\n.*\n)(*SKIP)(*F)|.*\R* 
Replace: nothing 

または

Find: (^1\.5\.\d+.*\n.*\n)\K(?>.*\R)*?(?=(?1)|.*\z)  /gm 
Replace: nothing 

ご協力いただきありがとうございます。

関連する問題