如何在“查找和替换”中反转我的选择?

如何在“查找和替换”中反转我的选择?
%%& BUNCH OF TEXT &%%ASDA WR
ASDAR
ASDSETSF
ASDSADGSRT
%%& EVEN MORE TEXT &%%
aSDAER
ASD
%%&TEXT HERE TOO &%%

我尝试使用查找和替换工具中的表达式删除“&%%”和“%%&”段之间的所有垃圾文本,但有点迷失。

我尝试过的一个表达式是(?=%).*(?=%),它选择的内容与我需要删除的内容完全相反。

我们将以开放的心态和热情的拥抱欢迎任何指点!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 编辑

"ASDA WR
ASDAR
ASDSETSF
ASDSADGSRT
%%& EVEN MORE TEXT &%%
aSDAER
ASD"

使用表达式

(\&%%)+([^%\&]*)(%%\&)+     <---I HAD THIS WRONG This didn't work
(\&%%)+.*(%%\&)             <---This is what I had put. This resulted in everything being deleted. 

将导致以上所有内容被删除。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~编辑新鲜样本

LU ASD#$$
%%&USER=ASD#$$ NAME=JOHN DOE     UP      OWNER=ASDWE     CREATED=03.232+&%%
DEFAULT-GROUP=ASD#$$    PASSDATE=00.000 PASS-INTERVAL= 30 PHRASEDATE=N\A
ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE = NONE
%%&LAST-ACCESS=23.346/24:43:23&%%
    LU ASD#$$
%%&USER=ASD#$$ NAME=JOHN DOE     UP      OWNER=ASDWE     CREATED=03.232+&%%
DEFAULT-GROUP=ASD#$$    PASSDATE=00.000 PASS-INTERVAL= 30 PHRASEDATE=N\A
ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE = NONE
%%&LAST-ACCESS=23.346/24:43:23&%%
LU ASD#$$
%%&USER=ASD#$$ NAME=JOHN DOE     UP      OWNER=ASDWE     CREATED=03.232+&%%
DEFAULT-GROUP=ASD#$$    PASSDATE=00.000 PASS-INTERVAL= 30 PHRASEDATE=N\A
ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE = NONE
%%&LAST-ACCESS=23.346/24:43:23&%%

不,仍然没有任何运气。

答案1

看看这个是否有效:

(\&[\r\n]*%[\r\n]*%)+([^%\&]*)(%[\r\n]*%[\r\n]*\&)+

清理后的文件应该是

%%& BUNCH OF TEXT  EVEN MORE TEXT 
TEXT HERE TOO &%%

如果你不想丢失&%%%%&,也可以这样做。用(\&[\r\n]*%[\r\n]*%)+([^%\&]*)(%[\r\n]*%[\r\n]*\&)+替换(\&%%)\n(%%\&)

你需要启用. matches newline选项

相关内容