如何用Notepad++正则表达式为条目行添加所属类别前缀?
在Notepad++中用正则批量给条目添加类别前缀
需求说明
你的文本文件结构为:一行类别行(格式为「类别名称 + 数字」),下方是该类别的所有条目行(格式为「条目名称 + 数字」),之后用两行空行分隔下一个类别块。需要将类别名称添加到每个条目行的开头,方便保存为CSV/TAB格式。
具体操作步骤
- 打开目标文件,按下
Ctrl+H打开「替换」面板 - 在「查找模式」中选择「正则表达式」,确保取消勾选「. 匹配换行符」选项
- 填入以下内容:
- 查找内容:
(^(.*поссовет)\s+\d+\r\n)|(\G(?!\A)(.*)\r\n) - 替换内容:
(?1$0:$2\t$4\r\n)
- 查找内容:
- 点击「全部替换」,所有条目行都会自动加上对应类别的前缀
正则说明
(^(.*поссовет)\s+\d+\r\n):匹配每个类别块的第一行(类别行),捕获类别名称到$2,保留原类别行内容(\G(?!\A)(.*)\r\n):从类别行结束的位置开始,连续匹配后续的条目行,捕获条目内容到$4- 替换规则:如果是类别行则保留原内容;如果是条目行,就把捕获到的类别名称
$2添加到条目内容$4开头,用制表符分隔
效果示例
原条目行:
Арабовщина 535
替换后:
Городищенский поссовет Арабовщина 535
内容的提问来源于stack exchange,提问作者nyghts
相关产品推荐
相关产品推荐

