我试图在 2 个正则表达式组之间插入一个数字;但是,我不知道如何避免引用不同的组号。我正在尝试使用正则表达式来更新目录中的文件名。基本上我有一季电视节目,所有文件名都应该遵循“Show - S##E## - Episode Title”模式我已经编写了一个简单的循环来迭代文件并设置命名,但我遇到的问题是剧集编号并未在每个文件中设置为 2 位数字。我在下面包含了我试图用来解决这个问题的循环。我尝试使用 re.sub() 将 S##E 标识为组 1,将以下数字标识为组 2,然后在两组之间插入一个“0”,但我最终引用了组 10,哪个没有定义。我不确定如何在不引用组 0 或插入反斜杠的情况下转义组引用。files = [f for f in os.listdir(os.path.abspath(os.curdir)) if os.path.isfile(f)]for file in files: os.rename(file, re.sub(r'(S\d+E)(\d\s)',r'\10\2',file))或者files = [f for f in os.listdir(os.path.abspath(os.curdir)) if os.path.isfile(f)]for file in files: os.rename(file, re.sub(r'(S\d+E)(\d\s),r'\1'+'0'+r'\2', file))预期结果应该是所有文件都遵循 S##E## 模式,即使情节编号低于 10。第一个版本会导致错误,因为我指的是一个不存在的组。第二个似乎根本没有改变文件名。
添加回答
举报
0/150
提交
取消