Magmi是某些电子商务软件的导入工具。
我正在尝试导入图片。问题是我的图像都被命名为“SKU.jpg”,并且位于不同的目录中。
Magmi有一个使用正则表达式来解决这个问题的工具。
我的问题是提出正确的正则表达式来使这项工作。
注意:我已经使用手动重命名的文件测试了我的导入,并且它运行良好。
Magmi说如果你在不同的目录中有类似的图像名称:
thumbs/01.png
standard/01.png
然后使用这个正则表达式:
re::(.*)/(.*)\.(.*)$::$2_$1.$3
文件将重命名为:
01_thumbs.png
01_standard.png
现在,我的文件结构如下:
/images/Headshot/Rectangle/VT08.jpg
/images/FloorShot/Rectangle/VT08.jpg
我假设这个正则表达式会起作用:
re::/(.*)/(.*)/(.*)/(.*)\.(.*)$::$2_$4.$5
更改文件:
Headshot_VT08.jpg
但事实并非如此。
我有什么遗失的吗?
答案 0 :(得分:1)
尝试使用
/([^/]*)/([^/]*)/([^/]*)/(.*)\.(.*)
so re::/([^/]*)/([^/]*)/([^/]*)/(.*)\.(.*)$::$2_$4.$5
前面的/很好,问题是(。*)/部分它会尽可能匹配,所以它会匹配/ images / Headshot / Rectangle /而不是第一位。
答案 1 :(得分:1)
试试这个
re::/(.*?)/(.*?)/(.*?)/(.*)$::$2_$4
无需将最后一个分开,因为您只需要为文件名前缀,因此您可以将其保留在单个捕获中
?在捕获结束时非贪婪(即:在第一场比赛时停止捕获)
我将修复wiki样本,因为只有一个/,问题没有出现,但序列不容易重复。