当前位置: 首页 > 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。如果你的图片路径有所不同,或者有其他特殊情况,可能需要调整正则表达式以适应不同的情况。

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

相关文章:

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

一&#xff0c;png格式 在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接&#xff0c;且忽略 alt 和 style 属性&#xff0c;可以按照以下步骤操作&#xff1a; 打开 Typora 并加载你的文档。按下 Ctrl H&#xff08;在 Windows/Linux 上&#xff09;或 Cmd…...

构建LangChain应用程序的示例代码:33、如何在LangChain框架中使用HumanInputChatModel来模拟人工输入的聊天模型教程

除了HumanInputLLM&#xff0c;LangChain还提供了一个伪聊天模型类&#xff0c;可以用于测试、调试或教育目的。这允许您模拟对聊天模型的调用&#xff0c;并模拟如果人类接收到这些消息会如何响应。 在这篇笔记中&#xff0c;我们将介绍如何使用这个模型。 我们首先在代理中…...

虚拟机使用桥接模式网络配置

1、获取本机的网络详细信息 windowr 输入cmd 使用ipconfig -all 一样即可 在自己的虚拟机中设置网络 虚拟机中的ip ---------192.168.36.*&#xff0c;不要跟自己的本机ip冲突 网关-----------192.168.36.254 一样即可 dns -----------一样即可&#xff0c;我多写了几个&am…...

韩顺平0基础学java——第24天

p484-508 System类 常见方法 System.arrycopy&#xff08;src&#xff0c;0&#xff0c;dest&#xff0c;1,2&#xff09;&#xff1b; 表示从scr的第0个位置拷贝2个&#xff0c;放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…...

leecode N皇后

深度优先遍历&#xff0c;然后回溯 思考得到的技巧&#xff1a; 1.先思考怎么用学过的数据结构解题 2.回溯不只需要知道最后一步&#xff0c;还需要知道之前所走的每一步 3. 棋盘的生成&#xff0c;.join([]),可以变列表为字符串 看题解得到的技巧&#xff1a; 1.妙啊&#xf…...

2024050802-重学 Java 设计模式《实战模板模式》

重学 Java 设计模式&#xff1a;实战模版模式「模拟爬虫各类电商商品&#xff0c;生成营销推广海报场景」 一、前言 黎明前的坚守&#xff0c;的住吗&#xff1f; 有人举过这样一个例子&#xff0c;先给你张北大的录取通知书&#xff0c;但要求你每天5点起床&#xff0c;12点…...

UNIAPP-ADB无线调试

ADB下载 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 环境变量配置 ADB版本查看 adb version 手机使用数据线连接到电脑 手机需要授权adb调试(开发人员选项里面) CMD输入命令 adb tcpip 5555 到了这一步你手机已经启动了adb服务了&…...

【stm32-新建工程】

stm32-新建工程 ■ 下载相关STM32Cube官方固件包&#xff08;F1&#xff0c;F4&#xff0c;F7&#xff0c;H7&#xff09;■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框&#xff0c;等待下载…...

写点什么吧,作为STM32系列的开篇……

自从本科毕业后&#xff0c;就再也没碰过单片机…… 自从研究生毕业后&#xff0c;就再也没碰过硬件…… 自以为以前单片机玩的熟得很&#xff0c;特别是ATMEGA系列的AVR单片机&#xff0c;由于老师的推荐&#xff0c;本科时花了好多精力在这个系列单片机上面…… 本科时STM…...

代码随想录算法训练营第十天| 232.用栈实现队列|225. 用队列实现栈|20. 有效的括号|1047. 删除字符串中的所有相邻重复项

232.用栈实现队列 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;栈的基本操作&#xff01; | LeetCode&#xff1a;232.用栈实现队列_哔哩哔哩_bilibili 知道要用两个栈实现&#xff0c;具体咋做忘了。队列的特性是先进先出&#xff0c;栈是先进后出&#xff0c;入队操…...

Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布

“ 各位热爱 Pulsar 的小伙伴们&#xff0c;Pulsar 社区周报更新啦&#xff01;这里将记录 Pulsar 社区每周的重要更新&#xff0c;每周发布。 ” 本期主题&#xff1a;Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布&#xff1a;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如何在本地引用以及发布并引用自定义工具包

如何引用本地自定义工具包 我们首先要准备两个项目&#xff0c;分别为需要引入的工具包和当前项目。 myutils、myproject1. myutils为我们的项目1-工具包 package mypakgeimport "strings"func IsContains(s string) bool {if strings.Contains(s, "a")…...

使用了代理IP怎么还会被封?代理IP到底有没有效果

代理IP作为一种网络工具&#xff0c;被广泛应用于各种场景&#xff0c;例如网络爬虫、海外购物、规避地区限制等。然而&#xff0c;很多用户在使用代理IP的过程中却发现自己的账号被封禁&#xff0c;这让他们不禁产生疑问&#xff1a;使用了代理IP怎么还会被封&#xff1f;代理…...

在WSL2的Ubuntu中安装和使用Docker/Podman

在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好&#xff08;例如在公司&#xff0c;能直接访问Google等&#xff09;时&#xff0c; Docker/Podman 安装和使用不是问题。 当网络环境不佳&#xff08;例如在家里&#xff09;&#xff0c;要把 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大模型会让搜索引擎成为历史吗&#xff1f; 随着人工智能技术的不断发展&#xff0c;AI大模型已经在许多领域展现出了强大的能力。从自然语言处理到图像识别&#xff0c;AI大模型的应用越来越广泛。在这种背景下&#xff0c;有人开始提出一个问题&#xff1a;AI大模型是否可…...

SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则

SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则 Spring Security 中默认所有的 http 请求都需要先认证通过后&#xff0c;才能访问。那么&#xff0c; 如何指定不需要认证就可以直接访问的资源呢&#xff1f;比如 用户的登录页面和注册页面&#xff0c;都是不需要…...

Java IO:byte[]、char[]、String三种对象的转换

String与byte[]对象进行转换时应指定编码格式&#xff0c;否则有潜在的乱码问题。byte[] b s.getBytes(“utf-8”); String s new String(b,“utf-8”); Java的IO库提供了专门的管道来对这3个对象进行读写&#xff0c;他们是StringReader/Writer CharArrayReader/Writer Byt…...

Elasticsearch:简化数据流的数据生命周期管理

作者&#xff1a;来自 Elastic Andrei Dan 今天&#xff0c;我们将探索 Elasticsearch 针对数据流的新数据管理系统&#xff1a;数据流生命周期&#xff0c;从版本 8.14 开始提供。凭借其简单而强大的执行模型&#xff0c;数据流生命周期可让n 你专注于数据生命周期的业务相关方…...

终极IDM试用重置指南:三步实现无限续期的免费解决方案

终极IDM试用重置指南&#xff1a;三步实现无限续期的免费解决方案 【免费下载链接】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终极指南&#xff1a;5分钟掌握惠普游戏本风扇控制与性能解锁 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普OME…...

【NotebookLM企业级部署避坑清单】:37家技术团队踩过的12个合规/安全/集成雷区,现在不看下周就宕机

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM企业级部署的核心价值与适用边界 NotebookLM 作为 Google 推出的基于文档理解的 AI 助手&#xff0c;其企业级部署并非简单地将 Web 版本私有化&#xff0c;而是围绕数据主权、合规闭环与业…...

ACUPS电源的技术指标怎么看?搞懂这几个参数,选型不踩坑

买ACUPS&#xff08;交流不间断电源&#xff09;时&#xff0c;说明书上一堆技术参数让人眼花缭乱。其实&#xff0c;搞懂输入指标和输出指标这两大类&#xff0c;就能判断一台ACUPS的性能好坏。下面用大白话给你讲清楚。一、输入指标&#xff1a;ACUPS“吃”电的本事输入指标决…...

AI编码助手配置框架:六层缰绳架构实现团队规范与上下文持久化

1. 项目概述&#xff1a;为什么你的AI编码助手总像个“健忘的实习生”&#xff1f; 如果你和我一样&#xff0c;已经深度使用Claude Code、Cursor这类AI编码助手超过半年&#xff0c;那你一定经历过这种“血压升高”的时刻&#xff1a;明明昨天刚跟它详细解释过项目的架构规范…...

GD32F407时钟树详解:168MHz系统时钟如何驱动你的ADC、SPI和CAN?

GD32F407时钟树深度解析&#xff1a;从PLL到外设的168MHz信号之旅 在嵌入式系统设计中&#xff0c;时钟如同芯片的"心跳"&#xff0c;精确控制着每个外设的运作节奏。GD32F407这颗基于Cortex-M4内核的MCU&#xff0c;其168MHz的系统时钟如何精准分配到ADC、SPI、CAN等…...

为个人AI助手项目集成多模型API实现成本与性能平衡

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为个人AI助手项目集成多模型API实现成本与性能平衡 构建个人AI助手是许多独立开发者热衷的项目。在开发过程中&#xff0c;一个常见…...

5个简单步骤:在Windows电脑上直接安装Android应用的终极指南

5个简单步骤&#xff1a;在Windows电脑上直接安装Android应用的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了在Windows电脑上使用Android模拟器…...

告别枯燥理论:用Verilog在FPGA上实现一个可交互的I2C温度传感器从机

从零构建FPGA上的智能温度传感器&#xff1a;Verilog I2C从机实战指南 当你想在FPGA上连接一个温度传感器时&#xff0c;市面上常见的I2C传感器如LM75似乎是个简单选择——但你是否想过&#xff0c;用Verilog自己实现一个会是什么体验&#xff1f;本文将带你从协议层开始&#…...

Adobe-GenP 3.0:三步解锁Adobe全家桶的终极指南

Adobe-GenP 3.0&#xff1a;三步解锁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订阅费而烦恼吗&#…...