文本编辑器技巧之正则匹配操作
整理日志、改批量配置、从网页复制一大段带标签的文本时,手动删行、删标签很费眼。VS Code、Sublime、Notepad++ 等都支持查找替换里开正则(VS Code 点 .* 图标)。下面是我常用、也真的省时间的几条。
正则删除关键字所在行
场景:日志里筛掉含某个人名、某错误码的行;或从导出文件里去掉注释行。
查找:
^.*大师兄.*$
替换为:(空)
说明:^ 行首,.* 任意字符,大师兄 关键字,$ 行尾。整行匹配后替换成空,相当于删掉该行。
如果不留空行:
查找:
^.*大师兄.*\r?\n
替换为:(空)
多匹配行尾的 \r?\n,Windows(\r\n)和 Unix(\n)换行都能吃掉,避免删完剩一堆空白行。若编辑器支持多行模式,以实际预览为准。
正则删除HTML标签
从网页复制的说明文字常夹带 <div>、<span> 之类。Ctrl + H 打开替换,勾选正则,查找 <[^>]+>,替换为空。
[^>]+ 表示「除 > 外的一个或多个字符」,能匹配大多数简单标签。嵌套很复杂或带 > 的异常 HTML 可能删不干净,那种更适合用解析器或专用工具;日常粘帖清理够用。
正则替换换行
把多行合并成一行(例如拼 SQL、拼 JSON 一行测试):Ctrl + H 正则查找 \n,替换为空格或逗号等你想要的。
反过来,在某个分隔符处断行:查找 , 替换为 ,\n(按需要改分隔符)。
注意:全文替换 \n 会把所有换行去掉,操作前最好先备份或撤销一步。大文件可以先选中一段再替换。
使用习惯
- 替换前用「查找全部」或预览看命中数量,避免误伤。
- 不同编辑器正则方言略有差别(如是否默认多行),以当前软件文档为准。当时环境主要是 VS Code 和 Notepad++。
这几招不高级,但比一行行删快得多。
版权声明: 本文首发于 指尖魔法屋-文本编辑器技巧之正则匹配操作(https://blog.thinkmoon.cn/post/207-guide-regex/) 转载或引用必须申明原指尖魔法屋来源及源地址!