Notepad++中的正则表达式,删除以数字结尾的子串

问题描述 投票:0回答:1

我有一个包含二进制和文本数据的文件。这些字符串:

?^ ×ô\ ˜³^ <] Ï|] ci] Þí^ €K` ÙsZ ÑûZ øÔZ ÑûZ -\ æe^ Ÿ¯T dèZ €NT &ªP ÊY ¹–P èçO nßW ´X clQ ×ô\ WöV ­ V 4^ ˜³^ *$U ÊY S|R KS }PY ,£R ŒÄN ÑûZ GX íaT ?ŽX >S käP ñÛX 4R îàQ …ÈX ’½P ¢­O ¼‘W QýT ;T sY\ —7U QýT ¼V "¬U Î T VwY ;T "¬U óZV hæU ÃT ›±Y ¾U ÙvN >S ¦«J ,¦F CL bðG jhG ¦ÇµbH ibat3   uA  ¸  ô~  ô~ oð$GNTXT,01,01,00,txbuf alloc S*12

我想从此文件中删除包含字符串:

$GNTXT
且以
S*12
结尾的所有文本。

我尝试使用

(.*)GNTXT(.*)
但这选择了所有行并且不起作用。

有什么想法吗?

regex notepad++
1个回答
0
投票

由于该文件包含二进制数据和一些文本,因此建议在使用 NPP 打开该文件之前复制该文件。

据我了解,您可以应用此:

[^\s,;.:-]*\$GNTXT[^\s,;.:-]*|[^\s,;.:-]*S\*12(?=\s)

演示

说明:

  • [^\s,;.:-]*
    任何不带
    space, newline tab ,;.:-
    开头的单词 应被视为单词的一部分

  • $GNTXT
    与您想要的单词相符

  • [^\s,;.:-]*
    任何不带
    space, newline tab ,;.:-
    开头的单词 应被视为单词的一部分

  • |
    替代方案

  • [^\s,;.:-]*
    任何不带
    space, newline tab ,;.:-
    开头的单词 应被视为单词的一部分

  • *S\*12
    与您想要的单词相符

  • (?=\s)
    正向前视以确保 S*12 以换行符/空格/制表符结尾。如果需要,您可以在此处添加
    ,.;

© www.soinside.com 2019 - 2024. All rights reserved.