我正在使用名为 Advanced Renamer 的应用程序来重命名我的视频文件。我尝试通过选择可用的最高质量来重命名视频文件,这是在当前文件名本身中指定的。
例如,原始的未压缩文件名如下所示:1080P,720P,480P,240P,_123456789.mp4
我使用正则表达式将此示例文件重命名为:1080P_123456789.mp4
。
但是,我现在使用的正则表达式 .*(?=1080P|720P|480P|240P)
的结果无法正常工作,它采用最低质量而不是最高质量: 240P,_123456789.mp4
正确的例子:
1080P,720P,480P,240P,_0987654321.mp4 --> 1080P_0987654321.mp4
720P,480P,_0987654321.mp4 --> 720P_0987654321.mp4
480P,240P,_0987654321.mp4 --> 480P_0987654321.mp4
我的正则表达式给我的错误示例:
1080P,720P,480P,240P,_0987654321.mp4 --> 240P_0987654321.mp4
720P,480P,_0987654321.mp4 --> 480P_0987654321.mp4
480P,240P,_0987654321.mp4 --> 240P_0987654321.mp4
编辑:解决方案
^.*?(1080P|720P|480P|240P).*?(_\d+\.mp4).*$
OR
^.*?(\d+P).*?_(\d+\.mp4)\S*
OR
.*?(\d+P)[^.]*_(\d+\.mp4)\S*
最佳答案
试试这个 ^(1080P|720P|480P|240P).*,(.*)
。 ^
将匹配行中的第一次出现。
关于正则表达式 - 将文件重命名为文件名中的最高分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127252/