当前位置: 首页 > news >正文

在typora中利用正则表达式,批量处理图片

一,png格式

在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接,且忽略 altstyle 属性,可以按照以下步骤操作:

  1. 打开 Typora 并加载你的文档。
  2. 按下 Ctrl + H(在 Windows/Linux 上)或 Cmd + Option + F(在 macOS 上)打开查找和替换对话框。
  3. 在“查找内容”框中输入以下表达式:
<img\s+src="images/(\d+\.png)"\s+alt="[^"]*"\s+style="[^"]*"\s*/>
  1. 在“替换为”框中输入:
    ![](images/$1)
  2. 确保勾选了“使用正则表达式”选项。
  3. 点击“全部替换”按钮应用更改。

正则表达式解释:

  • <img\s+:查找 <img 标签开始,后面跟着一个或多个空白字符。
  • src="images/(\d+\.png)":查找 src 属性,并且捕获匹配 images/ 后面跟着一串数字和 .png 扩展名的字符串。
  • \s+alt="[^"]*":查找 alt 属性,但不捕获其值(匹配任意非引号字符)。
  • \s+style="[^"]*":查找 style 属性,同样不捕获其值。
  • \s*/>:查找标签的结束部分,可能包含空白字符。

替换规则解释:

  • ![]($1):Markdown 图片语法,其中 $1 代表第一个捕获组(图片文件名)。

请注意,正则表达式中的 \d+ 假定了文件名是由数字组成,.png 是文件扩展名。如果你的图片文件名包含其他字符或格式,需要相应地调整正则表达式。

在执行替换之前,请确保备份你的文档,以防止任何意外的数据丢失。

二,gif格式

在 Typora 中批量将 HTML 图片标签转换为 Markdown 格式,并去除 altstyle 属性,适用于动态图(如 .gif 文件),可以按照以下步骤操作:

  1. 打开 Typora 并加载你的文档。
  2. 按下 Ctrl + H(在 Windows/Linux 上)或 Cmd + Option + F(在 macOS 上)打开查找和替换对话框。
  3. 在“查找内容”框中输入以下表达式:
    <img\s+src="images/(.*?)"\s+alt="[^"]*"\s+style="[^"]*"\s*/>
  4. 在“替换为”框中输入:
    ![](images/$1)
  5. 确保勾选了“使用正则表达式”选项。
  6. 点击“全部替换”按钮应用更改。

正则表达式解释:

  • <img\s+:查找以 <img 开始的部分,后面跟着一个或多个空白字符。
  • src="images/(.*?)":匹配 src 属性,并使用非贪婪模式 .*? 捕获 images/ 后面直到下一个引号之前的所有字符,即文件路径和文件名。
  • \s+alt="[^"]*":匹配 alt 属性,但不捕获其值。
  • \s+style="[^"]*":匹配 style 属性,同样不捕获其值。
  • \s*/>:匹配标签的结束部分,可能包含空白字符。

替换规则解释:

  • ![]($1):Markdown 图片语法,$1 代表第一个捕获组的值,即 src 属性中捕获的文件路径和文件名。

请注意,这个正则表达式假设 src 属性的值始终以 "images/" 开头,并且文件名可能包含任何字符,直到遇到下一个引号。如果你的图片路径有所不同,或者有其他特殊情况,可能需要调整正则表达式以适应不同的情况。

在执行替换之前,请确保备份你的文档,以防止任何意外的数据丢失或错误替换。

三,无style格式

在Typora中批量将HTML图片标签转换为Markdown格式,并去除alt属性(但保留src属性),可以按照以下步骤操作:

  1. 打开Typora并加载你的文档。
  2. 按下 Ctrl + H(在 Windows/Linux 上)或 Cmd + Option + F(在 macOS 上)打开查找和替换对话框。
  3. 在“查找内容”框中输入以下表达式:
    <img\s+src="images/([^"]+)"\s+alt="[^"]*"\s*/>
  4. 在“替换为”框中输入:
    ![](images/$1)
  5. 确保勾选了“使用正则表达式”选项。
  6. 点击“全部替换”按钮应用更改。

正则表达式解释:

  • <img\s+:查找以 <img 开始的部分,后面跟着一个或多个空白字符。
  • src="images/([^"]+)":匹配 src 属性,并捕获 images/ 后面直到下一个引号之前的所有字符,即文件路径和文件名。
  • \s+alt="[^"]*":匹配 alt 属性,但不捕获其值。
  • \s*/>:匹配标签的结束部分,可能包含空白字符。

替换规则解释:

  • ![]($1):Markdown 图片语法,$1 代表第一个捕获组的值,即 src 属性中捕获的文件路径和文件名。

请注意,这个正则表达式假设 src 属性的值始终以 "images/" 开头,并且文件扩展名是 .png。如果你的图片路径有所不同,或者有其他特殊情况,可能需要调整正则表达式以适应不同的情况。

在执行替换之前,请确保备份你的文档,以防止任何意外的数据丢失或错误替换。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【MySQL】MySQL45讲-读书笔记
  • 通过Stream流对集合进行操作
  • PHP聚合通多平台支付平台源码
  • 关于stm32的软件复位
  • spark MLlib (DataFrame-based) 中的聚类算法Bisecting K-Means、K-Means、Gaussian Mixture
  • 美丽的拉萨,神奇的布达拉宫
  • 项目实战系列——WebSocket——websock简介
  • 微服务之远程调用
  • 安装好IDEA后,就能够直接开始跑代码了吗?
  • 助力高考,一组彩色的文字
  • 趣谈网络协议
  • 第七章 Three.js 动画与交互
  • 热门开源项目推荐:技术与地址概览
  • laravel8使用中间件实现xss处理
  • 简单说一下STL中的map容器的特点、底层实现和应用场景【面试】
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 10个确保微服务与容器安全的最佳实践
  • Android优雅地处理按钮重复点击
  • bearychat的java client
  • Brief introduction of how to 'Call, Apply and Bind'
  • C++类的相互关联
  • create-react-app项目添加less配置
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • IP路由与转发
  • php中curl和soap方式请求服务超时问题
  • Yeoman_Bower_Grunt
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用common-codec进行md5加密
  • 微信公众号开发小记——5.python微信红包
  • 我与Jetbrains的这些年
  • 一些关于Rust在2019年的思考
  • 自制字幕遮挡器
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #Ubuntu(修改root信息)
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $().each和$.each的区别
  • (+4)2.2UML建模图
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (3)STL算法之搜索
  • (39)STM32——FLASH闪存
  • (C++20) consteval立即函数
  • (分布式缓存)Redis持久化
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?