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



我使用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]))

谁能给我一个提示?

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

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

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

最新更新