讲师中心 微信公众号
AI工具推荐 视频效率加速

Sublime终极秘籍:多行编辑结合正则表达式做数据清洗(无敌是多么寂寞)

夏瑶姑娘_9569

夏瑶姑娘_9569

发布时间:2026-07-10 10:41:13

|

807人浏览过

|

来源于php中文网

原创

必须先用正则在查找面板(Ctrl+F)中定位目标,再通过Alt+F3或Ctrl+Shift+L生成多光标编辑;直接对多行光标应用正则无效,因多行编辑本身不支持正则匹配。

sublime终极秘籍:多行编辑结合正则表达式做数据清洗(无敌是多么寂寞)

多行编辑本身不支持正则匹配,想靠 Ctrl+Shift+L 或 Ctrl+D 直接选中符合正则的文本?不行。必须先用正则把目标找出来,再配合多行编辑操作——这是唯一可靠路径。

怎么用正则批量定位要清洗的数据行

Sublime 的查找面板(Ctrl+F)默认是普通字符串搜索,得手动切到正则模式(点击 .* 图标或按 Alt+R)。比如清洗 CSV 中带多余空格的字段:

输入正则:\s*,\s*,勾选 Match case 和 Whole word 通常不需要,除非你明确要限制匹配范围;Wrap around 建议打开,避免漏掉开头或结尾的匹配项。

常见踩坑点:

  • 忘记转义特殊字符:比如想匹配字面量 .,得写成 \.,否则会匹配任意字符
  • 贪婪匹配导致跨行或过长:用 .*? 替代 .*,尤其在清洗日志或 HTML 片段时更安全
  • 换行符不在默认匹配范围内:如果正则要跨行,得启用 .\n 模式(点击 \n 图标),否则 . 不匹配 \n

选中所有匹配项后,怎么进入多行编辑状态

找到全部匹配项后,别急着按 Ctrl+Enter ——那是插入换行,不是多光标。正确操作是:

  • 按 Alt+F3:一次性选中所有当前匹配项,每个匹配区域都会生成一个光标(适合替换、删除、包裹等操作)
  • 按 Ctrl+Shift+L:把当前选中的每一行拆成独立光标(适合在每行末尾加内容、统一缩进调整)
  • 如果匹配的是零宽断言(如 ^ 或 \b),Alt+F3 仍有效,光标会落在断言位置,可用于批量插入前缀/后缀

注意:Ctrl+D 是逐个扩展选择,不适合“全量匹配→批量编辑”场景,容易漏或误选。

正则替换 + 多光标编辑的组合技

单纯替换不够灵活时,比如要把 JSON 数组里每个对象的 id 字段值统一加前缀 user_,但只改 id 不动其他字段:

Sublime Text Build Linux版
Sublime Text Build Linux版

Sublime Text Linux x86-64 deb 安装包。官方也提供 rpm、tar.xz 和软件源安装方式。

下载

第一步:用正则 "id"\s*:\s*"(\w+)" 找到所有 id 行,开启 Regex 和 Case sensitive

第二步:按 Alt+F3 选中全部匹配项 → 此时光标停在引号内(因为括号捕获组没被选中)

第三步:按 ← 左箭头一次,让光标移到引号内开头 → 再输入 user_

关键细节:

  • 捕获组 (\w+) 在替换框里可用 $1 引用,但多光标编辑下直接键盘输入更可控,尤其涉及格式微调时
  • 如果替换后需要补全引号或逗号,建议先用正则替换预留占位符(如 "id": "user_$1"),再用多光标统一删/加符号
  • Ctrl+U(软撤销)比 Ctrl+Z 更精准,能回退单次多光标操作,避免整块内容被撤错

为什么有些正则在 Sublime 里不生效

Sublime 使用的是 Boost.Regex 引擎,不支持某些现代正则特性:

  • 没有 (? 这类可变长度的先行断言,要用 <code>\b 或 ^ 等固定边界替代
  • 不支持 \K 重置匹配起点,得靠捕获组 + $1 模拟
  • Unicode 属性类(如 \p{L})不可用,中文匹配老实用 [\u4e00-\u9fa5]
  • 性能敏感:过长的回溯正则(如 (a+)+b)可能卡死,测试时先用小范围文本验证

真正难的不是写出正则,而是判断哪些部分该交给正则做、哪些该留给多光标手动微调——边界模糊时,宁可分两步,也别硬塞进一个正则里。

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4336

2023.06.20

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

2881

2023.07.05

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

7902

2023.07.05

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

812

2023.08.11

正则表达式空格
正则表达式空格

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

520

2023.08.31

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

673

2023.11.13

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

386

2023.11.17

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

719

2023.12.06

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

60

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn