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 相关文章推荐
基于jquery的图片的切换(以数字的形式)
Feb 14 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
Jul 25 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
加随机数引入脚本不让浏览器读取缓存
Sep 04 Javascript
Jquery结合HTML5实现文件上传
Jun 25 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
AngularJS 实现购物车全选反选功能
Oct 24 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
vue addRoutes实现动态权限路由菜单的示例
May 15 Javascript
详解js的视频和音频采集
Aug 09 Javascript
JavaScript创建对象方法实例小结
Sep 03 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 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,ajax实现分页
2008/03/27 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php写app用的框架整理
2019/09/29 PHP
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
Python help()函数用法详解
2014/03/11 Python
在Python中使用第三方模块的教程
2015/04/27 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
Python何时应该使用Lambda函数
2019/07/02 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
党校学习思想汇报
2014/01/06 职场文书
护士实习求职信
2014/06/22 职场文书
质量整改通知单
2015/04/21 职场文书
英语通知范文
2015/04/22 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
python turtle绘图命令及案例
2021/11/23 Python
Python中的程序流程控制语句
2022/02/24 Python