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 相关文章推荐
JS 跳转页面延迟2种方法
Mar 29 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 jQuery
Vue中组件之间数据的传递的示例代码
Sep 08 Javascript
vue-cli中打包图片路径错误的解决方法
Oct 26 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
Oct 20 Javascript
Cocos2d实现刮刮卡效果
Dec 20 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 jQuery
js实现select下拉框选择
Jan 11 Javascript
ES6扩展运算符和rest运算符用法实例分析
May 23 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
Dec 16 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
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
利用js对象弹出一个层
2008/03/26 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python操作列表的常用方法分享
2014/02/13 Python
Python实现模拟时钟代码推荐
2015/11/08 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
Python反射的用法实例分析
2018/02/11 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
市场营销毕业生自荐信范文
2014/04/01 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
酒店员工管理制度
2015/08/05 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android