如果您尝试使用工具通过正则表达式批量重命名文件,则相同的正则表达式会有不同的输出

如果您尝试使用工具通过正则表达式批量重命名文件,则相同的正则表达式会有不同的输出

在记事本++上我使用这个正则表达式

查找:(\d{4})|((\d+))
替换:((\1\2))#

怎么运行的

输入:

Tenet 2020
Alpha.1999 
beta (1997) 

输出

Tenet (2020)#
Alpha.(1999)#
beta (1997)#

但如果你尝试使用一些软件来重命名强力重命名器由 Microsoft、RegexRenamer 或重命名器你得到这个输出

Tenet ((12))#
Alpha.((12))#
beta (((12))#)

我该如何解决?

答案1

正则表达式的方言在不同工具之间有很大差异。您需要根据要使用的工具来开发正则表达式。

特别是我知道 ReNamer 使用$作为其捕获组分隔符,因此您需要更改((\1\2))#($1$2)# 才能在 ReNamer 中工作。看起来您提到的其他工具也有类似的问题。

相关内容