我正在使用nodejs CMS,用户在本地写入Markdown中的博客帖子,上传后我们在HTML文件中处理帖子。有时,用户会通过复制图像和写入来向帖子中添加my dog.jpg
等图片:
![a picture of my dog](my dog.jpg)
我使用uslug转换所有文件名,以便my dog.jpg
变为my-dog.jpg
。但是我还需要使用uslug更新blogpost中的链接,因为a)否则链接会中断,因为我们只是更改了文件名和b)因为节点的大多数markdown解析器将因为空白而跳过上面的图像语法(而图像确实在许多本地Markdown编辑器中预览,例如Mou)。
有人知道如何使用正则表达式实现这一目标吗?
答案 0 :(得分:8)
你需要大量的斜杠:
string.replace(/(!\[.*?\]\()(.+?)(\))/g, function(whole, a, b, c) {
return a + addDashesOrWhatever(b) + c;
});