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

如何用Notepad++正则查找非Markdown代码字符串并添加{~Plain~}前缀

没问题,我来帮你搞定用Notepad++正则处理这个文本的需求!

操作步骤(Notepad++中)

  1. 打开你的目标文本文件,按下Ctrl+H调出替换对话框。
  2. 在查找模式里选择「正则表达式」,并且勾选右下角的「匹配新行」(这个很重要,不然没法处理跨换行的文本块)。
  3. 在「查找内容」框里粘贴这段正则:
(?!{~[A-Za-z,0-9]+~})(?!{~Plain~})([\s\S]+?)(?=(?:{~[A-Za-z,0-9]+~}|$))
  1. 在「替换为」框里输入:
{~Plain~}$1
  1. 点击「全部替换」,搞定!

正则逻辑说明

这个正则专门定位那些不在合法{...}标记内部且还没被{Plain}标记的纯文本:

  • (?!{~[A-Za-z,0-9]+~}):确保当前位置后面不是合法的Markdown代码标记(比如{Newline}、{Indent,4}这类)
  • (?!{~Plain~}):避免给已经加过{Plain}的文本重复标记
  • ([\s\S]+?):非贪婪匹配所有字符(包括换行),把需要标记的纯文本捕获到分组1
  • (?=(?:{~[A-Za-z,0-9]+~}|$)):确保匹配的纯文本后面跟着合法标记或者文本结尾,精准锁定两个标记之间的纯文本块

示例测试效果

原输入文本:

{~Newline~}{~Indent,4~}{~Colour,Blue~} To be or not to be, {~Newline~}{~Indent,6~} {~Colour,Green~} that {~StartItalic~} is {~EndItalic~} the question. {~EndDocument~}

替换后结果:

{~Newline~}{~Indent,4~}{~Colour,Blue~}{~Plain~} To be or not to be, {~Newline~}{~Indent,6~}{~Plain~} {~Colour,Green~}{~Plain~} that {~StartItalic~}{~Plain~} is {~EndItalic~}{~Plain~} the question. {~EndDocument~}

所有纯文本前面都正确加上了{Plain},合法的Markdown代码标记完全保留,完美符合你的需求!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:13:10