js正则匹配markdown里的图片标签的实现

其实前端后端需要将markdown文本转换为html文本都有相应的库,几句代码就ok,但有时我们又必须获取到markdown里的某个标签来进行相应的转换,有几种办法,可以从已经转换好的html文本里获取,还有的就是直接从markdown文本里获取,这里说的是第二种。

Posted in Javascript onMarch 24, 2021

1. 一个markdown里只有一个图片的情况

const str = "asddsad![标题](url)asdasddasd"; //一段markdown文本,包含一个图片"![标题](url)"
let result = str.match(/!\[(.*?)\]\((.*?)\)/); //直接查找
console.log(result); 

运行结果

js正则匹配markdown里的图片标签的实现

2. 一个markdown里有多个图片的情况

const str = "asghfj![标题1](url1)gfhasfr![标题2](url2)sadas";
const pattern = /!\[(.*?)\]\((.*?)\)/mg;
let matcher;
 
while ((matcher = pattern.exec(str)) !== null) {
  console.log(matcher);
}

运行结果

js正则匹配markdown里的图片标签的实现

每个结果都有相应的原文以及原文所在位置,如果要做替换直接就可以替换了,参照如下方法

//最简单的替换
"123".replace('1','a'); //把1替换为a

 

Javascript 相关文章推荐
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
Feb 22 Javascript
javascript FormatNumber函数实现方法
Dec 30 Javascript
jquery获取下拉列表的值为null的解决方法
Mar 18 Javascript
javascript全局变量封装模块实现代码
Nov 28 Javascript
javascript:void(0)的作用示例介绍
Oct 28 Javascript
JS注释所产生的bug 即使注释也会执行
Nov 19 Javascript
深入理解vue2.0路由如何配置问题
Jul 18 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
Jun 22 Javascript
Vue export import 导入导出的多种方式与区别介绍
Feb 12 Javascript
JavaScript实现猜数字游戏
May 20 Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 jQuery
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 Javascript
浅谈react路由传参的几种方式
Mar 23 #Javascript
一百多行代码实现react拖拽hooks
node中使用shell脚本的方法步骤
详解如何解决使用JSON.stringify时遇到的循环引用问题
vue 中 get / delete 传递数组参数方法
Mar 23 #Vue.js
JavaScript实现页面动态验证码的实现示例
使用Vue.js和MJML创建响应式电子邮件
You might like
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
详解Python sys.argv使用方法
2019/05/10 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
python pycharm的安装及其使用
2019/10/11 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
小学庆六一活动总结
2014/08/28 职场文书
2014年学校工作总结
2014/11/20 职场文书
六年级学生评语大全
2014/12/26 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP