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

如何在Notepad++中使用正则合并相同前缀关键词的行?

如何在Notepad++中用正则表达式合并同关键词的行?

需求说明

每行文本以「关键词+分隔符」为前缀,需合并所有关键词相同的行,合并后保留关键词、分隔符,再拼接所有对应行的后缀内容。

示例输入

word1|word3 word10 word4 word9 word8 word2 word3 word7 word5 word6

word1|word5 word8 word9 word6 word2 word7 word6 word10 word4 word5

word1|word8 word2 word3 word10 word4 word9 word7 word3 word5 word6

word1|word7 word6 word5 word8 word9 word6 word2 word10 word4 word5

示例输出

word1|word3 word10 word4 word9 word8 word2 word3 word7 word5 word6 word5 word8 word9 word6 word2 word7 word6 word10 word4 word5 word8 word2 word3 word10 word4 word9 word7 word3 word5 word6 word7 word6 word5 word8 word9 word6 word2 word10 word4 word5

实现步骤

1. 归组相同关键词的行

先把同关键词的行集中排列:

  • 点击顶部菜单「编辑」→「行操作」→「按字典序排序(升序)」,确保相同关键词的行连续在一起。

2. 正则替换合并行

  1. 按Ctrl+H打开「替换」窗口。
  2. 「查找模式」选择「正则表达式」,勾选「. 匹配换行符」(必须勾选,才能跨多行匹配)。
  3. 填入以下规则:
    • 查找内容:^([^\|]+)\|(.*?)\r?\n\1\|(.*)
    • 替换为:\1|\2 \3
  4. 反复点击「全部替换」,直到提示“0处替换完成”,所有同关键词行就会合并为单行。

正则规则解释

  • ^([^\|]+)\|:匹配行首的关键词(到第一个|为止),存入分组1;\|匹配分隔符。
  • (.*?):匹配关键词后的内容,存入分组2(非贪婪模式避免过度匹配跨行内容)。
  • \r?\n:兼容Windows和Unix格式的换行符。
  • \1\|:匹配下一行相同的关键词和分隔符(\1引用分组1的关键词)。
  • (.*):匹配下一行的后缀内容,存入分组3。
  • 替换后用\1|\2 \3保留关键词、分隔符,拼接两行的后缀内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 22:20:40