请求编写REGEX:匹配带两位数字后缀的"(Track "并保留数字
解决你的文件名正则匹配与替换问题
我完全懂你的困扰——之前的替换规则会一刀切处理所有带"(Track"的文件,还把数字给弄丢了,现在要精准定位带两位数字的Track文件,还得把数字好好保留下来,对吧?
针对两位数字Track的正则方案
这里给你一套能直接用的正则规则,不管是在批量重命名工具还是文本编辑器的替换功能里都适用:
查找正则:
^.*\(Track (\d{2})\)\.mp3$
替换为:
track\1.mp3
为什么这样写?我给你拆解一下:
^:从文件名的最开头开始匹配,避免漏掉前面的内容.*:匹配"Artist - Album (Year) "这部分所有内容\(Track:匹配字面量的"(Track ",注意括号是正则里的特殊字符,所以要加\转义(\d{2}):用括号包裹形成捕获组,专门抓取后面的两位数字——这就是我们要保留的核心内容\):匹配Track数字后面的右括号,同样要转义\.mp3$:精准匹配结尾的.mp3后缀,确保只处理目标格式文件
替换时的\1就是引用刚才捕获的两位数字,这样替换后就会直接生成trackXX.mp3的标准化文件名啦。
处理一位数字的情况
如果之后要单独处理带一位数字的Track文件,只需要把查找正则里的\d{2}改成\d{1}就行:
查找正则(一位数字):
^.*\(Track (\d{1})\)\.mp3$
替换为:
track\1.mp3
这样就能分开处理两位和一位数字的文件,完全符合你的需求~
内容的提问来源于stack exchange,提问作者RIP-Felix
相关产品推荐
相关产品推荐

