您可以使用基于正则表达式的替换功能在Notepad2中轻松完成此操作。
查找: ^\([^|]*|[^|]*|\)
替换:\1Prefix
详情:
^
- 行首(Notepad2 永远不会溢出行边界!)
\([^|]*|[^|]*|\)
- 捕获与以下序列匹配的第 1 组:
[^|]*
- 零个或多个字符|
|
-文字(是的,不需要转义,转义和未转义都|
匹配文字|
)管道符号
[^|]*|
- 见上文,进入第二个|
。
替换包含一个\1
反向引用,它插入使用捕获组 1 捕获的内容。
请注意,Notepad2 正则表达式引擎非常有限。这是Notepad2 文档所说的:
Notepad2 仅支持有限的正则表达式子集,由 Scintilla 源代码编辑组件的内置引擎提供。优点是占用空间非常小。目前没有计划集成更高级的正则表达式引擎,但这可能是未来发展的一个选择。
注意:正则表达式搜索仅限于单行。
此外,您可以参考Scintilla RESearch.cxx文件中描述支持的语法的内联注释。请记住,Notepad2 S&R 工具中使用的正则表达式类型是POSIX的,并非所有描述的 Scintilla 正则表达式功能都可以在该工具中使用。
请注意,Notepad2 似乎不支持交替和限制量词(类似于 Lua 模式),但\w
将 Unicode 字母与 ASCII 字母匹配。可悲的是,我无法使?
量词起作用。