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 相关文章推荐
JavaScript中void(0)的具体含义解释
Feb 27 Javascript
JavaScript常用的弹出广告及背投广告实现方法
Feb 06 Javascript
js+css简单实现网页换肤效果
Dec 29 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
纯JS前端实现分页代码
Jun 21 Javascript
JQuery动态添加Select的Option元素实现方法
Aug 29 Javascript
老生常谈JQuery data方法的使用
Sep 09 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 Javascript
vue里的data要用return返回的原因浅析
May 28 Javascript
在vue项目中使用sass语法问题
Jul 18 Javascript
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
浅谈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实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
python 如何对logging日志封装
2020/12/02 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
买房子个人收入证明
2014/01/16 职场文书
中学生自我鉴定
2014/02/04 职场文书
跑操口号
2014/06/12 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书