当前位置 博文首页 > js正则匹配markdown里的图片标签的实现

    js正则匹配markdown里的图片标签的实现

    作者:吴掌柜 时间:2021-08-15 19:00

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