使用正则表达式进行非常基本的图像重命名

时间:2014-04-09 17:08:38

标签: regex

我昨天花了大部分时间将正则表达式集合在一起,将我的所有图像名称和路径转换为小写。今天,我处理了一个充满文件的文件夹,并惊讶地发现许多图像名称仍然大写。

所以我决定一步一步,首先重命名.jpg,然后重命名.gif,.png等等。

我正在使用Dreamweaver和TextWrangler作为我的文本编辑器在Mac上工作。以下正则表达式适用于jpg,有一个主要缺陷 - 它删除了扩展名......

([\w/-]+)\.jpe?g
\L\1

换句话说,它将South-America.jpg改为南美洲。

如何更改它以保留文件扩展名?我想我可以把它改成......

([\w/-]+)\.png
\L\1

...处理png等等。

3 个答案:

答案 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