利用正则表达式批量修改文件名

首先, 我们需要稍微学习一下正则表达式的使用方式,可以看这里:Notepad+正则表达式使用方法_notepad正则匹配-CSDN博客

经过初步学习之后,比较重要的内容我做如下转载:

元字符是正则表达式的基本构成单位,它们代表了不同的含义,如下所示:

元字符    含义
.    代表任意字符,换行符除外
^    代表一行的开头
$    代表一行的结尾
*    代表一个字符可以出现 0 次或多次
+    代表一个字符可以出现 1 次或多次
?    代表一个字符可以出现 0 次或 1 次
{n}    代表一个字符可以出现 n 次
{n,}    代表一个字符可以出现 n 次或多次
{n,m}    代表一个字符可以出现 n~m 次
[…]    代表括号中任意一个字符
[^…]    代表除括号中字符外的任意字符
\    转义字符
特殊字符
在正则表达式中,还有一些特殊字符,它们代表了不同的意思:

特殊字符    含义
\d    代表任意一个数字,等价于 [0-9]
\D    代表任意一个非数字字符,等价于 [^0-9]
\w    代表任意一个字母、数字或下划线,等价于 [a-zA-Z0-9_]
\W    代表任意一个非字母、数字或下划线字符,等价于 [^a-zA-Z0-9_]
\s    代表任意一个空白字符,包括空格、制表符、换行符等
\S    代表任意一个非空白字符
汇总如下:

\ 转义字符 如:要使用 “\” 本身, 则应该使用“\”

\t Tab制表符 注:扩展和正则表达式都支持

\r 回车符CR 注:扩展支持,正则表达式不支持

\n 换行符LF 注:扩展支持,正则表达式不支持

\r\n 正则表达式可表示回车换行

. 匹配任意一个字符

^ 其右边的表达式被匹配在行首。如:^A匹配以“A”开头的行

$ 其左边的表达式被匹配在行尾。如:e$匹配以“e”结尾的行

| 或运算符,匹配表达式左边和右边的字符串。如:ab|bc匹配“ab”或“bc”

[] 匹配列表中任意单个字符。如:[ab]匹配“a”或“b”;[0-9]匹配任意单个数字

[^] 匹配列表之外的任意单个字符。如:[ab]匹配“a”和“b”以外的单个字符;[0-9]匹配任意单个非数字字符

*其左边的字符被匹配任意次(0次或多次)。如:be*匹配“b”,“be”或“bee”

+ 其左边的字符被匹配至少一次(1次或多次)。如:be+匹配“be”或“bee”,但不匹配“b”

? 其左边的字符被匹配0次或者1次。如:be?匹配“b”或“be”,但不匹配“bee”;\r?\n匹配行结尾符

() 影响表达式匹配的顺序(类似C++的小括号会影响表达式运算顺序),并且用作表达式的分组标记(标记从1开始)如:([a-z]bc)smn\1匹配“tbcsmntbc”;另见:看下文的示例

{} 指定前面的字符或分组的出现次数 如:abc{3}匹配abccc;a(bc){2}匹配abcbc

\d 匹配一个数字字符。等价于:[0-9]

\D \d取反,匹配一个非数字字符。等价于:[^0-9]

\s 匹配任意单个空白字符:包括空格、制表符等(注:不包括换车符和换行符)。等价于:[ \t]

\S \s取反的任意单个字符。

\w 匹配包括下划线的任意单个字符。等价于:[A-Za-z0-9_]

\W \w 取反的任意单个字符。等价于:[^A-Za-z0-9_]

\b 匹配单词起始处或结尾处
 

正则表达式需转义的字符包括:

* . ? + ^ $ | \ / [ ] ( ) { }
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/mahui85/article/details/134474388

 在文件管理里面,我们需要一个工具QTTabBar,这是个很好用的文件管理系统的标签插件,功能非常强大

其中就包括可以文件批量重命名的功能

从上图可以看到我下载回来的音乐,后面都有一些多余的字符,规则为【歌名- 歌手#4~6位字符.mp3】,现在我要把#后面4~6位多余的字符批量去除

我设置的是查找方案是:【#.*mp3$】

它的含义是

“#”是中间的固定“#”字符,.表示从#的字符位置开始匹配

"."表示任意字符,

"*"表示前面的任意字符出现次数为任意次数,当然也包括4~6次了,这个很重要。

“$”表示以什么结尾的,在这里表示以"#.*mp3"结尾的,在这里可以加也可以不加,毕竟没有其它干扰数据,加上的话会更好。

把查找条件设置好,替换为那里就设置为.mp3的后缀名即可

可以看到查找到的文件名为黑亮状态,并且置顶了,而没有匹配到的为灰暗状态

第二栏就是改完后新的名称了, 如果确实无误,点【重命名】按扭确认即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15626.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【 LLM论文日更|检索增强:大型语言模型是强大的零样本检索器 】

论文:https://aclanthology.org/2024.findings-acl.943.pdf代码:GitHub - taoshen58/LameR机构:悉尼科技大学 & 微软 & 阿姆斯特丹大学 & 马里兰大学领域:retrieval & llm发表:ACL2024 研究背景 研究…

驾校增加无人机培训项目可行性技术分析

驾校增加无人机培训项目的可行性技术分析,需要从市场需求、技术基础、政策支持、培训体系构建及运营等多个维度进行综合考量。以下是对这些方面的详细分析: 一、市场需求分析 1. 行业应用广泛:无人机在航拍、农业、环境监测、地理测绘、电力…

MFC1(note)

引言 在学习SDK后我们发现,写消息好麻烦,处理消息更麻烦 处理消息效率低发送消息效率低 所以把SDK中这些消息全部封装好 MFC封装了windows 的大部分API 这里说一下QT架构跨平台 MFC用得如何取决于你SDK的水平 创建 如果打开没有MFC 一般勾选以下…

OpenCV3.4.0 添加contrib模块过程记录

一 准备文件 下载这些文件,可以从GitHub/Gitee很容易找到: source-3.4.0.zip 源文件opencv_3rdparty-ffmpeg-master_20171009 opencv_3rdparty-ippicv-master_20170822 opencv_contrib-3.4.0.zip …

APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中

发现了一些恶意软件样本,这些样本据信与朝鲜民主主义人民共和国 (DPRK)(又称北朝鲜)有关,这些样本使用 Flutter 构建,Flutter 的设计可以对恶意代码进行混淆。JTL 深入研究了恶意代码的工作原理,以帮助保护…

论文学习——一种基于决策变量分类的动态约束多目标进化算法

论文题目: A dynamic constrained multiobjective evolutionary algorithm based on decision variable classification 一种基于决策变量分类的动态约束多目标进化算法(Yinan Guo a,b, Mingyi Huang a, Guoyu Chen a,*, Dunwei Gong c, Jing Liang d, …

基于微信小程序的高校实习管理系统设计与实现,LW+源码+讲解

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自…

【UE5】在材质Custom写函数的方法

UE材质的Custom本身会构建为函数,所以并不能在Custom定义函数,但当然还是有办法的 总结一些在custom写函数的方法 常规办法 常规办法就是使用结构体作为函数使用 以一个Lerp功能函数演示 让我们看看写法: struct VolBlendFunc //定义结…

Springboot如何打包部署服务器

文章目的&#xff1a;java项目打包成jar包或war包&#xff0c; 放在服务器上去运行 一、编写打包配置 1. pom.xml 在项目中的pom.xml文件里面修改<build>...</build>的代码 >> 简单打包成Jar形式&#xff0c;参考示例&#xff1a; <build><fina…

CDA LEVEL 2考试大纲

​编辑返回首页 CDA LEVELⅡ考试大纲 一、总体目标 CDA&#xff08;Certified Data Analyst&#xff09;&#xff0c;即“CDA 数据分析师”&#xff0c;是在数字经济大背景和人工智能时代趋势下&#xff0c;面向全行业的专业权威国际资格认证&#xff0c;旨在提升全球用户数…

基于STM32的智能家居系统:MQTT、AT指令、TCP\HTTP、IIC技术

一、项目概述 随着智能家居技术的不断发展&#xff0c;越来越多的家庭开始使用智能设备来提升生活质量和居住安全性。智能家居系统不仅提供了便利的生活方式&#xff0c;还能有效地监测家庭环境&#xff0c;保障家庭安全。本项目以设计一种基于STM32单片机的智能家居系统为目标…

微信小程序-prettier 格式化

一.安装prettier插件 二.配置开发者工具的设置 配置如下代码在setting.json里&#xff1a; "editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","prettier.documentSelectors": ["**/*.wxml"…

3D编辑器教程:如何实现3D模型多材质定制效果?

想要实现下图这样的产品DIY定制效果&#xff0c;该如何实现&#xff1f; 可以使用51建模网线上3D编辑器的材质替换功能&#xff0c;为产品3D模型每个部位添加多套材质贴图&#xff0c;从而让3D模型在展示时实现DIY定制效果。 具体操作流程如下&#xff1a; 第1步&#xff1a;上…

SQL集合运算

集合论是SQL语言的根基。 1 集合运算 注意事项&#xff1a; 1&#xff09;SQL能操作具有重复行的集合&#xff0c;可以通过可选项ALL来支持。 如果直接使用UNION或INTERSECT&#xff0c;结果里不会出现重复的行。如果想在结果里留下重复行&#xff0c;可以加上可选项ALL。写…

【PGCCC】Postgresql 存储设计

架构图 用户查询指定 page 的数据 首先查询该 page 是否在缓存中&#xff0c;通过 hash table 快速查找它在缓存池的位置 如果存在&#xff0c;那么从缓存池读取返回 如果不存在需要从磁盘读取数据&#xff0c;并且放入到缓存池中&#xff0c;然后返回 postgresql 存储单位 …

CTFHub每日练习

文章目录 技能树CTF Web信息泄露目录遍历PHPINFO备份文件下载网站源码bak文件vim缓存.DS_Store Git泄露Logstash index方法一方法二 密码口令弱口令 技能树 CTF Web 信息泄露 目录遍历 PHPINFO 备份文件下载 网站源码 当开发人员在线上环境中对源代码进行了备份操作&#x…

pycharm分支提交操作

一、Pycharm拉取Git远程仓库代码 1、点击VCS > Get from Version Control 2、输入git的url&#xff0c;选择自己的项目路径 3、点击Clone&#xff0c;就拉取成功了 默认签出分支为main 选择develop签出即可进行开发工作 二、创建分支&#xff08;非必要可以不使用&#xf…

SkyWalking-安装

SkyWalking-简单介绍 是一个开源的分布式追踪系统&#xff0c;用于检测、诊断和优化分布式系统的功能。 支持 ElasticSearch、H2、MySQL、PostgreSql 等数据库 基于 ElasticSearch 的情况 ElasticSearch&#xff08;ES&#xff09; 安装 1、下载并解压 https://www.elastic…

【MySQL基础刷题】总结题型(三)

十题左右&#xff0c;便于复习 1.查询结果的质量和占比2.每月交易I3.销售分析III4.只出现一次的最大数字5.买下所有产品的客户6.员工的直属部门7.指定日期的产品价格 1.查询结果的质量和占比 avg大神啊… SELECT query_name, ROUND(avg(rating / position), 2) as quality, …

PyEcharts | 通过分析奥迪车购买数据来学习柱状折线复合图像的绘制方法

柱状折线复合图像效果 实现步骤 df pd.read_csv(3汽车之家-奥迪汽车数据.csv) df.head()print(df.shape) df.info()注意所有 列字段 对应的数据类型&#xff0c;同时注意绘图所需要的汽车销售数量和价格 df1 df.copy() df1 df1[~df1[百公里油耗].str.contains(百公里电耗…