javascript正则匹配markdown里的图片标签的如何实现

如果这世上真有奇迹,那只是努力的另一个名字。人生从来没有真正的绝境。无论遭受多少艰辛,无论经历多少苦难,只要一个人的心中还怀着一粒信念的种子,那么总有一天,他就能走出困境,让生命重新开花结果。

其实前端后端需要将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

到此这篇关于js正则匹配markdown里的图片标签的实现的文章就介绍到这了,更多相关js正则匹配markdown图片标签内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能有感兴趣的文章
浅析golang 正则表达式

正则表达式如何解决input框固定输入值得格式(金额,特殊字符)

基于xpath选择器、PyQuery、正则表达式的格式清理工具详解

python中如何使用正则表达式将所有符合条件的字段全部提取出来

javascript正则表达式 限1-2位整数,或者至多含有两位小数的写法