我需要对我网站的资料库做一个相当大的改变。
我有数百个markdown文件,在我的markdown中,我有时会包含带有空格的图片,主要是因为它们是屏幕截图,所以格式是这样的:
Screen Shot 2021-10-16 at 09.45.47.png
加载图片的字符串是:

这在我安装的Hugo版本中运行良好,但最近在0.100版本中,他们取消了对我使用的名为Blackfriday的Markdown库的支持,现在只支持Goldmark,它不再允许图像中的空格(还有其他变化)。
我真的不得不更新我的网站以跟上Hugo的步伐,因为我使用的是旧版本,已经有10个月了。
我的问题就在这里。我需要更新我所有的图片链接。
好吧,不是真的。我可以用<>.包裹图片名称:

然后事情就恢复了。
我只是要搜索和替换所有的图片!我有成千上万的图片,这不是我要做的事。
我有数以千计的图片,这不是我想做的事。
所以我想起了VS Code的查找/替换功能中的正则表达式。
经过一番实验,使用这样的Regex:
!\[(.+)\]\((.*\s+.*)\)
我能够创建2个捕获组,一个用于alt文本,一个用于文件名:

然后在替换框中,我可以用1美元表示alt文本,2美元表示文件名:

!\[\]\((.*\s+.*)\)
而且这个替换字符串 ,对没有alt文本的图片也有效(我知道,我知道...):
