发布于2026-07-17 阅读(0)
扫一扫,手机访问
说实话,Sublime Text 本身并没有提供“一键导出匹配内容为纯列表”这样方便的功能,所有提取操作都得靠 Find All 或 Find in Files 的结果整理。别指望它能自动去重、转数组或生成 CSV——那是后续步骤,得自己处理。
关键在于正则里用 () 捕获目标部分,并确保匹配范围最小化。如果写成 var\s+(\w+)\s*= 却没限制上下文,Sublime 会从 var 开始一直吃到行尾,$1 就拿不到干净的变量名。
console\.log\(\s*["']([^"']*)["'] 比 console\.log\(\s*["'](.*)["'] 更安全,避免跨引号吞掉后面内容function\s+(\w+)\s*\(\),不是 function\s+(\w+),否则可能捕获到 functionName 中的 NameCtrl+F 输入正则,看高亮是否只框住你要的部分;不行就调窄范围,比如加 \b 或锚定空格因为 Replace in Files(Ctrl+Shift+H)面板不支持捕获组引用——它只把 $1 当字面字符串输出。这是 Sublime 的硬限制,不是你正则写错了。
$1 的地方只有当前文件的 Replace 面板(Ctrl+H),且必须点开右下角的 .* 图标Find in Files(Ctrl+Shift+F)→ 点 Find → 复制结果页文本 → 粘贴后用列编辑或二次替换清理Find 和 Replace(填 $1)逻辑正确,再切到 Replace in Files 执行无引用的批量替换复制出来的结果通常是带路径和行号的杂乱文本,比如 main.js:42: id: "user_id"。直接粘贴进新文件后,得靠组合操作收尾。
Ctrl+Shift+P → 输入 Sort Lines → 回车 → 再执行一次 Remove Duplicate Lines(需提前安装 Package Control 的相应插件,原生不支持)$1\n,但末尾多空行,可用 ^$\n(开启正则)替换为空来清理[" 开头、"] 结尾,再对换行符做 \n → ", " 替换;注意首尾引号和逗号位置,别漏掉第一个或最后一个最易被忽略的是作用域控制:默认正则对整个文件生效,但如果你只选中了一段 JSON,又忘了勾选 In Selection 提示,那替换就会跑出范围。还有编码问题——粘贴进来的文本带 BOM 或零宽空格,正则直接失效,得先 File → Reopen with Encoding → UTF-8 强制重载。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8