我昨天花了大部分时间将正则表达式集合在一起,将我的所有图像名称和路径转换为小写。今天,我处理了一个充满文件的文件夹,并惊讶地发现许多图像名称仍然大写。
所以我决定一步一步,首先重命名.jpg,然后重命名.gif,.png等等。
我正在使用Dreamweaver和TextWrangler作为我的文本编辑器在Mac上工作。以下正则表达式适用于jpg,有一个主要缺陷 - 它删除了扩展名......
([\w/-]+)\.jpe?g
\L\1
换句话说,它将South-America.jpg改为南美洲。
如何更改它以保留文件扩展名?我想我可以把它改成......
([\w/-]+)\.png
\L\1
...处理png等等。
答案 0 :(得分:3)
([\w\/-]+)(\.jpe?g)
并替换为\L\1\2
删除您的扩展程序,因为您从未将其保存在匹配组中。
答案 1 :(得分:2)
您也可以捕获扩展程序吗?
([\w/-]+)(\.jpe?g)
\L\1\2
我认为你应该可以对所有文件使用类似的东西:
([\w/-]+)(\.[^.]+$)
\L\1\2
或者,如果您特别想要转换那些jpegs,png和gif:
([\w/-]+)(\.(?:jpe?g|gif|png))
\L\1\2
答案 2 :(得分:2)
如果扩展程序也可以变为小写,那么你可以这样做
^(.*)$
\L\1
只要您确定所有行都包含文件名。
如果您只想处理某些文件格式,请使用
^(.*\.(jpe?g|png|gif))$
\L\1