You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式查找替换完整匹配(连续重复保留分隔符)技术求助

求助解决:Notepad++正则实现完整单词/短语替换(含连续重复序列处理)

需求说明

查找时需匹配完整单词/短语并进行替换:

  • 若替换值为空,则删除匹配项;
  • 若替换值非空,则替换为指定单词/短语并保留分隔符。

原始文本

1:
Coconut
2:
ACoconut
3:
Coconut!
4:
!CoconutA

5:
Coconut,Orange,Coconut,Pear,Coconut
6:
ACoconut,Orange,Coconut!,Pear,!CoconutA

7:
Coconut,Coconut
8:
ACoconut,Coconut!
9:
Coconut,Coconut,Coconut
10:
ACoconut,Coconut!,!CoconutA

11:
Coconut,Coconut,Orange
12:
ACoconut,!Coconut,Orange
13:
Coconut,Coconut,Coconut,Orange
14:
Coconut,ACoconut,!Coconut,Orange
15:
Orange,Coconut,Coconut,Pear
16:
Orange,Coconut,CoconutA,Pear

17:
Orange,Coconut,Coconut,Coconut,Pear
18:
Orange,ACoconut,Coconut,!Coconut,Pear
19:
Pear,Coconut,Coconut
20:
Pear,Coconut!,Coconut
21:
Pear,!Coconut,Coconut,ACoconut
22:
Pear,CoconutA,!Coconut,Coconut

预期结果

注意事项

  1. 使用Notepad++进行查找替换;
  2. 单词/短语前后存在额外字符时不算完整匹配(仅忽略逗号);
  3. 单词/短语通过分隔符(此处为逗号)连续重复时,该序列需替换为单个单词/短语,无论序列在文本开头、中间或结尾;
  4. 必须匹配完整单词/短语(需使用^、逗号分隔符和$),替换时无需手动指定分隔符,需通过捕获组实现。

替换值:空值(非空格)

1:

2:
ACoconut
3:
Coconut!
4:
!CoconutA

5:
Orange,Pear
6:
ACoconut,Orange,Coconut!,Pear,!CoconutA

7:

8:
ACoconut,Coconut!
9:

10:
ACoconut,Coconut!,!CoconutA

11:
Orange
12:
ACoconut,!Coconut,Orange
13:
Orange
14:
ACoconut,!Coconut,Orange
15:
Orange,Pear
16:
Orange,CoconutA,Pear

17:
Orange,Pear
18:
Orange,ACoconut,!Coconut,Pear
19:
Pear
20:
Pear,Coconut!
21:
Pear,!Coconut,ACoconut
22:
Pear,CoconutA,!Coconut

替换值:Tomato

1:
Tomato
2:
ACoconut
3:
Coconut!
4:
!CoconutA

5:
Tomato,Orange,Tomato,Pear,Tomato
6:
ACoconut,Orange,Coconut!,Pear,!CoconutA

7:
Tomato
8:
ACoconut,Coconut!
9:
Tomato
10:
ACoconut,Coconut!,!CoconutA

11:
Tomato,Orange
12:
ACoconut,!Coconut,Orange
13:
Tomato,Orange
14:
Tomato,ACoconut,!Coconut,Orange
15:
Orange,Tomato,Pear
16:
Orange,Tomato,CoconutA,Pear

17:
Orange,Tomato,Pear
18:
Orange,ACoconut,Tomato,!Coconut,Pear
19:
Pear,Tomato
20:
Pear,Coconut!,Tomato
21:
Pear,!Coconut,Tomato,ACoconut
22:
Pear,CoconutA,!Coconut,Tomato

我的尝试及结果

  • 查找内容: ^(Coconut)$|^(Coconut)(,)|(,)(Coconut)(,)|(,)(Coconut)$
    1. 替换为: $4$7$3$6
    1:
    

2:
ACoconut
3:
Coconut!
4:
!CoconutA

5:
,Orange,,Pear,
6:
ACoconut,Orange,Coconut!,Pear,!CoconutA

7:
,Coconut
8:
ACoconut,Coconut!
9:
,Coconut,
10:
ACoconut,Coconut!,!CoconutA

11:
,Coconut,Orange
12:
ACoconut,!Coconut,Orange
13:
,Coconut,,Orange
14:
,ACoconut,!Coconut,Orange
15:
Orange,,Coconut,Pear
16:
Orange,,CoconutA,Pear

17:
Orange,,Coconut,,Pear
18:
Orange,ACoconut,,!Coconut,Pear
19:
Pear,,Coconut
20:
Pear,Coconut!,
21:
Pear,!Coconut,,ACoconut
22:
Pear,CoconutA,!Coconut,

2. 替换为: $4$7Tomato$3$6

1:
Tomato
2:
ACoconut
3:
Coconut!
4:
!CoconutA

5:
Tomato,Orange,Tomato,Pear,Tomato
6:
ACoconut,Orange,Coconut!,Pear,!CoconutA

7:
Tomato,Coconut
8:
ACoconut,Coconut!
9:
Tomato,Coconut,Tomato
10:
ACoconut,Coconut!,!CoconutA

11:
Tomato,Coconut,Orange
12:
ACoconut,!Coconut,Orange
13:
Tomato,Coconut,Tomato,Orange
14:
Tomato,ACoconut,!Coconut,Orange
15:
Orange,Tomato,Coconut,Pear
16:
Orange,Tomato,CoconutA,Pear

17:
Orange,Tomato,Coconut,Tomato,Pear
18:
Orange,ACoconut,Tomato,!Coconut,Pear
19:
Pear,Tomato,Coconut
20:
Pear,Coconut!,Tomato
21:
Pear,!Coconut,Tomato,ACoconut
22:
Pear,CoconutA,!Coconut,Tomato

解决方案

核心思路

先把连续重复的Coconut序列合并为单个,再处理单个完整匹配的Coconut,确保符合需求中的连续序列替换规则。操作时需在Notepad++中开启正则表达式模式(搜索模式选择「正则表达式」,无需勾选「.匹配换行符」)。


场景1:替换值为空

分两步执行替换:

  1. 合并连续的Coconut序列

    • 查找内容:(Coconut)(?:,(Coconut))+
    • 替换为:$1
      作用:把所有连续的Coconut,Coconut或Coconut,Coconut,Coconut这类序列替换成单个Coconut。
  2. 删除所有完整匹配的单个Coconut

    • 查找内容:^Coconut,|,Coconut,|,Coconut$|^Coconut$
    • 替换为:(留空,不输入任何内容)
      作用:
      • ^Coconut,:删除行首的Coconut及后续逗号
      • ,Coconut,:删除中间的Coconut,保留单个逗号
      • ,Coconut$:删除行尾的逗号及Coconut
      • ^Coconut$:删除整行仅有的Coconut

场景2:替换值为Tomato

同样分两步执行替换:

  1. 合并连续的Coconut序列

    • 查找内容:(Coconut)(?:,(Coconut))+
    • 替换为:$1
      作用和场景1一致,先合并连续序列。
  2. 替换所有完整匹配的单个Coconut为Tomato

    • 查找内容:(^|,)Coconut($|,)
    • 替换为:$1Tomato$2
      作用:保留Coconut前后的行首/逗号分隔符,仅将Coconut替换为Tomato,同时处理行首、行尾、中间的所有完整匹配情况。

内容的提问来源于stack exchange,提问作者Stes Mus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:00:54