在typora中利用正则表达式,批量处理图片
一,png格式
在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接,且忽略 alt 和 style 属性,可以按照以下步骤操作:
- 打开 Typora 并加载你的文档。
- 按下
Ctrl + H(在 Windows/Linux 上)或Cmd + Option + F(在 macOS 上)打开查找和替换对话框。 - 在“查找内容”框中输入以下表达式:
<img\s+src="images/(\d+\.png)"\s+alt="[^"]*"\s+style="[^"]*"\s*/>
- 在“替换为”框中输入:
 - 确保勾选了“使用正则表达式”选项。
- 点击“全部替换”按钮应用更改。
正则表达式解释:
<img\s+:查找<img标签开始,后面跟着一个或多个空白字符。src="images/(\d+\.png)":查找src属性,并且捕获匹配images/后面跟着一串数字和.png扩展名的字符串。\s+alt="[^"]*":查找alt属性,但不捕获其值(匹配任意非引号字符)。\s+style="[^"]*":查找style属性,同样不捕获其值。\s*/>:查找标签的结束部分,可能包含空白字符。
替换规则解释:
:Markdown 图片语法,其中$1代表第一个捕获组(图片文件名)。
请注意,正则表达式中的 \d+ 假定了文件名是由数字组成,.png 是文件扩展名。如果你的图片文件名包含其他字符或格式,需要相应地调整正则表达式。
在执行替换之前,请确保备份你的文档,以防止任何意外的数据丢失。

二,gif格式
在 Typora 中批量将 HTML 图片标签转换为 Markdown 格式,并去除 alt 和 style 属性,适用于动态图(如 .gif 文件),可以按照以下步骤操作:
- 打开 Typora 并加载你的文档。
- 按下
Ctrl + H(在 Windows/Linux 上)或Cmd + Option + F(在 macOS 上)打开查找和替换对话框。 - 在“查找内容”框中输入以下表达式:
<img\s+src="images/(.*?)"\s+alt="[^"]*"\s+style="[^"]*"\s*/> - 在“替换为”框中输入:
 - 确保勾选了“使用正则表达式”选项。
- 点击“全部替换”按钮应用更改。
正则表达式解释:
<img\s+:查找以<img开始的部分,后面跟着一个或多个空白字符。src="images/(.*?)":匹配src属性,并使用非贪婪模式.*?捕获images/后面直到下一个引号之前的所有字符,即文件路径和文件名。\s+alt="[^"]*":匹配alt属性,但不捕获其值。\s+style="[^"]*":匹配style属性,同样不捕获其值。\s*/>:匹配标签的结束部分,可能包含空白字符。
替换规则解释:
:Markdown 图片语法,$1代表第一个捕获组的值,即src属性中捕获的文件路径和文件名。
请注意,这个正则表达式假设 src 属性的值始终以 "images/" 开头,并且文件名可能包含任何字符,直到遇到下一个引号。如果你的图片路径有所不同,或者有其他特殊情况,可能需要调整正则表达式以适应不同的情况。
在执行替换之前,请确保备份你的文档,以防止任何意外的数据丢失或错误替换。

三,无style格式
在Typora中批量将HTML图片标签转换为Markdown格式,并去除alt属性(但保留src属性),可以按照以下步骤操作:
- 打开Typora并加载你的文档。
- 按下
Ctrl + H(在 Windows/Linux 上)或Cmd + Option + F(在 macOS 上)打开查找和替换对话框。 - 在“查找内容”框中输入以下表达式:
<img\s+src="images/([^"]+)"\s+alt="[^"]*"\s*/> - 在“替换为”框中输入:
 - 确保勾选了“使用正则表达式”选项。
- 点击“全部替换”按钮应用更改。
正则表达式解释:
<img\s+:查找以<img开始的部分,后面跟着一个或多个空白字符。src="images/([^"]+)":匹配src属性,并捕获images/后面直到下一个引号之前的所有字符,即文件路径和文件名。\s+alt="[^"]*":匹配alt属性,但不捕获其值。\s*/>:匹配标签的结束部分,可能包含空白字符。
替换规则解释:
:Markdown 图片语法,$1代表第一个捕获组的值,即src属性中捕获的文件路径和文件名。
请注意,这个正则表达式假设 src 属性的值始终以 "images/" 开头,并且文件扩展名是 .png。如果你的图片路径有所不同,或者有其他特殊情况,可能需要调整正则表达式以适应不同的情况。
在执行替换之前,请确保备份你的文档,以防止任何意外的数据丢失或错误替换。
相关文章:
在typora中利用正则表达式,批量处理图片
一,png格式 在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接,且忽略 alt 和 style 属性,可以按照以下步骤操作: 打开 Typora 并加载你的文档。按下 Ctrl H(在 Windows/Linux 上)或 Cmd…...
构建LangChain应用程序的示例代码:33、如何在LangChain框架中使用HumanInputChatModel来模拟人工输入的聊天模型教程
除了HumanInputLLM,LangChain还提供了一个伪聊天模型类,可以用于测试、调试或教育目的。这允许您模拟对聊天模型的调用,并模拟如果人类接收到这些消息会如何响应。 在这篇笔记中,我们将介绍如何使用这个模型。 我们首先在代理中…...
虚拟机使用桥接模式网络配置
1、获取本机的网络详细信息 windowr 输入cmd 使用ipconfig -all 一样即可 在自己的虚拟机中设置网络 虚拟机中的ip ---------192.168.36.*,不要跟自己的本机ip冲突 网关-----------192.168.36.254 一样即可 dns -----------一样即可,我多写了几个&am…...
韩顺平0基础学java——第24天
p484-508 System类 常见方法 System.arrycopy(src,0,dest,1,2); 表示从scr的第0个位置拷贝2个,放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…...
leecode N皇后
深度优先遍历,然后回溯 思考得到的技巧: 1.先思考怎么用学过的数据结构解题 2.回溯不只需要知道最后一步,还需要知道之前所走的每一步 3. 棋盘的生成,.join([]),可以变列表为字符串 看题解得到的技巧: 1.妙啊…...
2024050802-重学 Java 设计模式《实战模板模式》
重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」 一、前言 黎明前的坚守,的住吗? 有人举过这样一个例子,先给你张北大的录取通知书,但要求你每天5点起床,12点…...
UNIAPP-ADB无线调试
ADB下载 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 环境变量配置 ADB版本查看 adb version 手机使用数据线连接到电脑 手机需要授权adb调试(开发人员选项里面) CMD输入命令 adb tcpip 5555 到了这一步你手机已经启动了adb服务了&…...
【stm32-新建工程】
stm32-新建工程 ■ 下载相关STM32Cube官方固件包(F1,F4,F7,H7)■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框,等待下载…...
写点什么吧,作为STM32系列的开篇……
自从本科毕业后,就再也没碰过单片机…… 自从研究生毕业后,就再也没碰过硬件…… 自以为以前单片机玩的熟得很,特别是ATMEGA系列的AVR单片机,由于老师的推荐,本科时花了好多精力在这个系列单片机上面…… 本科时STM…...
代码随想录算法训练营第十天| 232.用栈实现队列|225. 用队列实现栈|20. 有效的括号|1047. 删除字符串中的所有相邻重复项
232.用栈实现队列 文档讲解:代码随想录 视频讲解:栈的基本操作! | LeetCode:232.用栈实现队列_哔哩哔哩_bilibili 知道要用两个栈实现,具体咋做忘了。队列的特性是先进先出,栈是先进后出,入队操…...
Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布
“ 各位热爱 Pulsar 的小伙伴们,Pulsar 社区周报更新啦!这里将记录 Pulsar 社区每周的重要更新,每周发布。 ” 本期主题:Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布:Apache Pulsar 3.3.0[1…...
Go源码--sync库(3):sync.Pool(2)
回收 回收其实就是将 pool.local 置为空 可以让垃圾回收器回收 我们来看下 源码 func init() {// 将 poolCleanup 注册到 gc开始前的准备工作处理器中在 STW时执行runtime_registerPoolCleanup(poolCleanup) }这里注册了清理程序到GC前准备工作 也就是发生GC前需要执行这段代…...
Go如何在本地引用以及发布并引用自定义工具包
如何引用本地自定义工具包 我们首先要准备两个项目,分别为需要引入的工具包和当前项目。 myutils、myproject1. myutils为我们的项目1-工具包 package mypakgeimport "strings"func IsContains(s string) bool {if strings.Contains(s, "a")…...
使用了代理IP怎么还会被封?代理IP到底有没有效果
代理IP作为一种网络工具,被广泛应用于各种场景,例如网络爬虫、海外购物、规避地区限制等。然而,很多用户在使用代理IP的过程中却发现自己的账号被封禁,这让他们不禁产生疑问:使用了代理IP怎么还会被封?代理…...
在WSL2的Ubuntu中安装和使用Docker/Podman
在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好(例如在公司,能直接访问Google等)时, Docker/Podman 安装和使用不是问题。 当网络环境不佳(例如在家里),要把 WSL2 的 Ubun…...
【WEEK16】Learning Objectives and Summaries【Spring Boot】【English Version】
Learning Objectives: Learning SpringBoot Learning Content: Reference video tutorials【狂神说Java】SpringBoot最新教程IDEA版通俗易懂Dubbo and Zookeeper Integration Learning time and outputs: Week16 TUE~FRI 2024.6.11【WEEK16】 【DAY2】Dubbo和Zookeeper集成第…...
AI大模型会让搜索引擎成为历史吗?
AI大模型会让搜索引擎成为历史吗? 随着人工智能技术的不断发展,AI大模型已经在许多领域展现出了强大的能力。从自然语言处理到图像识别,AI大模型的应用越来越广泛。在这种背景下,有人开始提出一个问题:AI大模型是否可…...
SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则
SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则 Spring Security 中默认所有的 http 请求都需要先认证通过后,才能访问。那么, 如何指定不需要认证就可以直接访问的资源呢?比如 用户的登录页面和注册页面,都是不需要…...
Java IO:byte[]、char[]、String三种对象的转换
String与byte[]对象进行转换时应指定编码格式,否则有潜在的乱码问题。byte[] b s.getBytes(“utf-8”); String s new String(b,“utf-8”); Java的IO库提供了专门的管道来对这3个对象进行读写,他们是StringReader/Writer CharArrayReader/Writer Byt…...
Elasticsearch:简化数据流的数据生命周期管理
作者:来自 Elastic Andrei Dan 今天,我们将探索 Elasticsearch 针对数据流的新数据管理系统:数据流生命周期,从版本 8.14 开始提供。凭借其简单而强大的执行模型,数据流生命周期可让n 你专注于数据生命周期的业务相关方…...
终极IDM试用重置指南:三步实现无限续期的免费解决方案
终极IDM试用重置指南:三步实现无限续期的免费解决方案 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset IDM Trial Reset是一款专为Internet Download Manager用户设计的实…...
OmenSuperHub终极指南:5分钟掌握惠普游戏本风扇控制与性能解锁
OmenSuperHub终极指南:5分钟掌握惠普游戏本风扇控制与性能解锁 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普OME…...
【NotebookLM企业级部署避坑清单】:37家技术团队踩过的12个合规/安全/集成雷区,现在不看下周就宕机
更多请点击: https://intelliparadigm.com 第一章:NotebookLM企业级部署的核心价值与适用边界 NotebookLM 作为 Google 推出的基于文档理解的 AI 助手,其企业级部署并非简单地将 Web 版本私有化,而是围绕数据主权、合规闭环与业…...
ACUPS电源的技术指标怎么看?搞懂这几个参数,选型不踩坑
买ACUPS(交流不间断电源)时,说明书上一堆技术参数让人眼花缭乱。其实,搞懂输入指标和输出指标这两大类,就能判断一台ACUPS的性能好坏。下面用大白话给你讲清楚。一、输入指标:ACUPS“吃”电的本事输入指标决…...
AI编码助手配置框架:六层缰绳架构实现团队规范与上下文持久化
1. 项目概述:为什么你的AI编码助手总像个“健忘的实习生”? 如果你和我一样,已经深度使用Claude Code、Cursor这类AI编码助手超过半年,那你一定经历过这种“血压升高”的时刻:明明昨天刚跟它详细解释过项目的架构规范…...
GD32F407时钟树详解:168MHz系统时钟如何驱动你的ADC、SPI和CAN?
GD32F407时钟树深度解析:从PLL到外设的168MHz信号之旅 在嵌入式系统设计中,时钟如同芯片的"心跳",精确控制着每个外设的运作节奏。GD32F407这颗基于Cortex-M4内核的MCU,其168MHz的系统时钟如何精准分配到ADC、SPI、CAN等…...
为个人AI助手项目集成多模型API实现成本与性能平衡
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为个人AI助手项目集成多模型API实现成本与性能平衡 构建个人AI助手是许多独立开发者热衷的项目。在开发过程中,一个常见…...
5个简单步骤:在Windows电脑上直接安装Android应用的终极指南
5个简单步骤:在Windows电脑上直接安装Android应用的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了在Windows电脑上使用Android模拟器…...
告别枯燥理论:用Verilog在FPGA上实现一个可交互的I2C温度传感器从机
从零构建FPGA上的智能温度传感器:Verilog I2C从机实战指南 当你想在FPGA上连接一个温度传感器时,市面上常见的I2C传感器如LM75似乎是个简单选择——但你是否想过,用Verilog自己实现一个会是什么体验?本文将带你从协议层开始&#…...
Adobe-GenP 3.0:三步解锁Adobe全家桶的终极指南
Adobe-GenP 3.0:三步解锁Adobe全家桶的终极指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为昂贵的Adobe Creative Cloud订阅费而烦恼吗&#…...
