根据正则表达式文件名匹配重命名文件

时间:2018-05-13 10:00:55

标签: regex extract rename file-rename strip

我使用hazel自动重命名文件并将其移动到文件夹中 - 但是 - 它的日期错误。 我使用shell脚本和exif工具修复了文件上的日期,但现在需要再次重命名文件。

文件可以是多种类型,例如。

2014-10-29 - _DSF5234.JPG
2014-10-29 - _DSF5234.DNG
2014-10-29 - _DSF5234.PSD

我需要从每个文件的文件名中删除"2014-10-29 - "部分。理想情况下,它将是一个直接处理一个文件的脚本,并将其嵌入到淡褐色动作中。

找到此正则表达式([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))

任何人都可以给我一个提示吗?

1 个答案:

答案 0 :(得分:0)

您可以使用您提供的示例正则表达式,通过在左括号后添加?:将捕获组更改为非捕获组,添加-以匹配要返回/删除的其他字符,然后为文件名的其余部分添加正向前瞻。

^([12]\d{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01]) - )(?=.+\.\w+$)

https://regex101.com/r/N5XweP/1