我正在使用Notepad ++,并且我正在寻找一个正则表达式,该表达式可以删除出现在加号|
之前而不是之后的竖线字符+
的所有出现。
一行示例:
290167 275b93| e4dcab59949+k70ba3f31cc63|4d4746bd758ff618afc82556
这必须是:
290167 275b93 e4dcab59949+k70ba3f31cc63|4d4746bd758ff618afc82556
这是我尝试隔离但没有结果的正则表达式:
[|](?<=[+])
(行中包含空格字符)
答案 0 :(得分:0)
您处在正确的轨道上,但是查找模式略有偏离。试试这个版本:
Find: [|](?=.*[+])
Replace: (empty string)
这是一个工作示例:
这里想要的逻辑是查找所有管道,只要字符串的后面出现加号即可。正向前进(?=.*[+])
断言了这一点。
答案 1 :(得分:0)
您需要提前寻找在线上其他地方的+
。 (?<=
位于后面,您不希望这样(超前语法为(?=
),也不需要单个字符的字符集:
\|(?=[^+\n]*\+)
并替换为空字符串。