其实前端后端需要将markdown文本转换为html文本都有相应的库,几句代码就ok,但有时我们又必须获取到markdown里的某个标签来进行相应的转换,有几种办法,可以从已经转换好的html文本里获取,还有的就是直接从markdown文本里获取,这里说的是第二种。
1. 一个markdown里只有一个图片的情况
const str = "asddsad![标题](url)asdasddasd"; //一段markdown文本,包含一个图片"![标题](url)" let result = str.match(/!\[(.*?)\]\((.*?)\)/); //直接查找 console.log(result);
运行结果
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); }
运行结果
每个结果都有相应的原文以及原文所在位置,如果要做替换直接就可以替换了,参照如下方法
//最简单的替换 "123".replace('1','a'); //把1替换为a