如何在markdown字符串中更改图像URL

ask*_*ike 3 regex markdown node.js

我正在使用nodejs CMS,用户在本地写入Markdown中的博客帖子,上传后我们在HTML文件中处理帖子.有时用户会my dog.jpg通过复制图像和写入来添加类似于帖子的图片:

![a picture of my dog](my dog.jpg)
Run Code Online (Sandbox Code Playgroud)

我使用uslug转换所有文件名,以便my dog.jpg成为my-dog.jpg.但是我还需要使用uslug更新blogpost中的链接,因为a)否则链接会中断,因为我们只是更改了文件名和b)因为节点的大多数markdown解析器将因为空白而跳过上面的图像语法(而图像确实在许多本地Markdown编辑器中预览,如Mou).

有谁知道如何使用正则表达式实现这一目标?

Hub*_* OG 8

你需要很多斜杠:

string.replace(/(!\[.*?\]\()(.+?)(\))/g, function(whole, a, b, c) {
    return a + addDashesOrWhatever(b) + c;
});
Run Code Online (Sandbox Code Playgroud)