如何在Notepad++中用RegEx精准移除指定多行HTML代码块
解决Notepad++中批量移除指定HTML导航代码块的正则问题
问题1:让正则匹配到第一个</div>即停止
你之前用的.*是贪婪匹配模式,会尽可能抓取最长的内容,所以才会匹配到文档最后一个</div>。换成非贪婪模式就能解决:把.*改成.*?,正则变为:
<div class="navigation">.*?</div>
注意要在Notepad++的正则设置里勾选「. 匹配换行符」,否则.不会识别换行,匹配不到多行的导航块内容。
问题2:单个正则就能移除全部目标代码块
完全可以,上面的非贪婪正则已经能精准匹配从<div class="navigation">开始到对应闭合</div>结束的整个代码块——不管中间的链接地址、锚文本怎么变,只要外层class是navigation,就能全部匹配并移除。
批量处理300+文件的操作步骤
- 打开Notepad++,顶部菜单点「搜索」→「在文件中查找」
- 切换到「替换」标签页,查找模式选「正则表达式」,勾选「. 匹配换行符」
- 「查找内容」框输入上面的正则,「替换为」框留空
- 在「目录」栏选择存放所有目标文件的文件夹,需要的话勾选「包括子文件夹」
- 点击「替换全部」,确认操作后就能批量移除所有文件里的目标导航块
提醒:操作前最好先备份所有文件,或者先拿一两个文件测试正则效果,避免误删内容。
内容的提问来源于stack exchange,提问作者Jim
相关产品推荐
相关产品推荐

