Notepad++正则替换问题:为行首尾加HTML标签并保留原内容
在Notepad++用正则给目标行加HTML标签并保留原内容
刚接触正则遇到这个问题太正常了,我当初第一次用的时候也卡在这里!其实核心就是用好捕获组,把你要保留的内容“抓”住再放回去就行,我给你一步步说:
基础操作(给所有行加标签)
- 按
Ctrl+H打开查找替换窗口 - 一定要勾选窗口左下角的「正则表达式」模式(别选普通或扩展,不然正则语法不生效)
- 「查找目标」里填:
^(.*)$- 拆解一下:
^匹配一行的开头(.*)这是关键的捕获组——.能匹配任意字符(除了换行),*表示匹配0次或多次,等于把整行内容都“存”起来了$匹配一行的结尾
- 拆解一下:
- 「替换为」里填你要的标签,比如想加段落标签就写:
<p>\1</p>- 这里的
\1就是调用刚才捕获组里存的原内容,相当于把原行文字包裹在标签中间
- 这里的
只给特定行加标签的情况
如果你不是所有行都要处理,比如只改包含某个关键词的行,那调整一下查找目标就行:
比如要处理包含重点内容的行,查找目标改成:^(.*重点内容.*)$
替换为还是<p>\1</p>,这样只有符合条件的行才会被修改
小提醒
- 要是你的行里有正则特殊字符(比如
.、*、(这些),记得给它们加转义符\,不过一般普通文本用.*就足够覆盖了 - 可以先点「查找下一个」确认一下是不是选中了你要改的行,再点「全部替换」更稳妥
举个实际例子:
原行:今天的笔记内容
替换后就变成:<p>今天的笔记内容</p>
内容的提问来源于stack exchange,提问作者Doug K.
相关产品推荐
相关产品推荐

