可使用正则表达式 !\[[^\]]*\]\((https?://[^\)]+)\) 在 sublime text 中批量提取 markdown 文件中以 http:// 或 https:// 开头的图片 url,需启用正则模式(点击 .*),在查找替换面板中输入该表达式即可匹配并提取所有网络图片链接。

如何用 Sublime Text 快速提取 Markdown 中的网络图片 URL
Sublime Text 本身不解析 Markdown 或下载图片,但可以高效地用正则批量抓出所有 ![]() 语法里的网络图片地址——前提是图片链接是完整 HTTP(S) 路径,不是相对路径或 base64。
匹配  里的图片 URL(含常见变体)
Markdown 图片语法有几种写法:、、甚至换行写法。真正要提取的是括号内以 http:// 或 https:// 开头的字符串。
- 打开 Sublime Text,按
Ctrl+H(Windows/Linux)或Cmd+H(macOS)调出「替换面板」 - 点击右下角「.*」启用正则模式
- 在「Find What」中输入:
(?
- 这个正则会跳过本地路径和空括号,只捕获协议开头的 URL;
(? 是正向先行断言,确保前面确实是 <code>![]()的左括号位置 - 如果想连带匹配整个图片语法(方便后续批量删除或导出),可改用:
!\[[^\]]*\]\((https?://[^\s\)]+)\)
,此时图片 URL 在第 1 个捕获组里
导出结果:复制匹配项到新窗口或文件
Sublime Text 不支持一键导出匹配结果为纯文本,但有轻量级替代方案:
- 执行
Find All(Alt+Enter),所有匹配 URL 会被同时选中 - 按
Ctrl+Shift+L(Linux/macOS 是Cmd+Shift+L)将每个匹配项拆成独立光标,再按Ctrl+C复制全部 - 新建文件粘贴,就得到干净的 URL 列表;如需去重,可用
Sort Lines→Remove Duplicate Lines(需提前安装 Package Control 中的AdvancedNewFile或手动操作) - 注意:如果文档里混有
[text](url)(非图片链接),上述正则不会误抓,因为开头没有!
为什么不用插件?哪些情况它会失效
虽然有 MarkdownEditing 或 RegReplace 插件能增强处理能力,但多数场景没必要——正则足够快且可控。不过以下情况正则会漏掉或错抓:
- URL 被换行打断,例如:

—— 正则默认不跨行,需勾选「.matches newline」并调整表达式 - URL 包含括号,例如:
.jpg)—— 原正则在第一个)就终止了,应改用更鲁棒的:!\[[^\]]*\]\((https?://[^\)]*?)\)
并配合「ungreedy」模式(Sublime 默认贪婪) - 图片使用 HTML 写法:
<img src="...">—— 需另写正则匹配src="...",不能复用上面的 Markdown 语法规则
真正麻烦的不是提取,而是后续处理:URL 是否有效、是否需要下载、是否要转为本地相对路径——这些都得交给脚本或命令行工具,Sublime 只负责“看见”和“框出来”。











