正则表达式字符数字匹配

基础知识

数字:[0-9]或者[\d],不止一个就用+
字母:[a-z]或者[A-Z]区分大小写
|:或的意思

工具

在线测试网站

拿不准的先可以测试一下,输入输出如下:
正则表达式字符数字匹配_第1张图片

实战

改名字,其中注意正则式的小括号括起来的才可以被得到数据,然后通过m.group得到

 if ( int(dir)  == 2018):
        os.chdir(path1)
        names = os.listdir(dir)
        # 2018_c20IMG20220404185814_0
        for 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')

你可能感兴趣的:(代码学习,正则表达式)