正则表达式 - 删除除匹配组之外的所有内容(使用sublime 3)

时间:2016-09-24 20:32:06

标签: regex sublimetext3

如何只保留匹配的组并删除其余文本?

使用:Sublime 3 - Regex

我的模式是

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

谢谢

1 个答案:

答案 0 :(得分: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

感谢您的帮助。