基础知识
数字:[0-9]或者[\d],不止一个就用+
字母:[a-z]或者[A-Z]区分大小写
|:或的意思
工具
在线测试网站
拿不准的先可以测试一下,输入输出如下:
实战
改名字,其中注意正则式的小括号括起来的才可以被得到数据,然后通过m.group得到
if ( int(dir) == 2018):os.chdir(path1)names = os.listdir(dir)# 2018_c20IMG20220404185814_0for name in names:p = re.compile(r'([0-9]+)_c([0-9]+)[A-Z]+([\d]+)+_([0-9])')m = p.search(name)pid = m.group(1)cid = m.group(2)extra1 =m.group(3)extra2 = m.group(4)# embed()os.chdir(os.path.join(path1, dir))os.rename(name, pid + '_c' +cid+'_'+extra1+'_'+extra2+'.jpg')