Replace 记事本++;内部带有变量的换行

Replace 记事本++;内部带有变量的换行,replace,notepad++,notepad,replaceall,Replace,Notepad++,Notepad,Replaceall,如何更改像这样的大文件 GSKPP/3520767/1/30300 到 GSKPP/1/30300 如果3520767是可变的 编辑:CTRL+H:打开搜索和替换窗口 ^ : begining of line .*? : 0 or more any character, not greedy \K : forget all we have seen until now / : slash \s+ : 1 o

如何更改像这样的大文件

GSKPP/3520767/1/30300

GSKPP/1/30300

如果
3520767
是可变的


编辑:

CTRL
+
H
:打开搜索和替换窗口

^           : begining of line
.*?         : 0 or more any character, not greedy
\K          : forget all we have seen until now
/           : slash
\s+         : 1 or more space
[a-z]?      : an optional letter
\d+         : 1 or more digits
搜索:
GSKPP/[a-zA-z]{0,1}[0-9]*/1/30300
替换:
GSKPP/1/30300

正则表达式必须在搜索和替换窗口的底部激活

[0-9]*
作为正则表达式的意思是:搜索0到9之间的任意位数

[a-zA-z]{0,1}
表示:零个或一个大小字母

正则表达式前后的搜索条目被视为常量

这将为以下输入提供:

GSKPP / 3520767 / 1 / 30300
GSKPP / b25525 / 1 / 30300
GSKPP / Z2 / 1 / 30300
输出:

GSKPP / 1 / 30300
GSKPP / 1 / 30300
GSKPP / 1 / 30300
这里有一条路要走:

  • Ctrl+H
  • 查找内容:
    ^.*?\K/\s+[a-z]?\d+
  • 替换为:
    EMPTY
  • 全部替换
说明:

^           : begining of line
.*?         : 0 or more any character, not greedy
\K          : forget all we have seen until now
/           : slash
\s+         : 1 or more space
[a-z]?      : an optional letter
\d+         : 1 or more digits

你说的“如果3520767是可变的”是什么意思?“任何空白字符串”?还是“任何数字”?或“任何十进制数”?或“任何正十进制数”?或者“环境变量的内容”?@Yunnosch此值“3520767”将被更改,我已尝试使用*,但幸运的是,该数字在两个斜杠之间始终更改?您可以选择我提供的更精确的描述之一吗?@Toto要更新问题,使其更简单,是的,此数字将始终不同。找不到OPs“或1个字母在大号和6号(b123456)”。也修复了它…很好,你要求进一步的信息,但在第一次发布时没有阅读。这被接受,让我惊讶,因为我认为它不会找到OPs“或1个字母在大号和6号(b123456)”。并且它有相当高的删除其他内容的风险。