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

首先, 我们需要稍微学习一下正则表达式的使用方式,可以看这里: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.mzph.cn/pingmian/60670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust高级特征

文章目录 不安全的rust解引用裸指针裸指针与引用和智能指针的区别裸指针使用解引用运算符 *,这需要一个 unsafe 块调用不安全函数或方法在不安全的代码之上构建一个安全的抽象层 使用 extern 函数调用外部代码rust调用C语言函数rust接口被C语言程序调用 访问或修改可…

【How AI Works】读书笔记3 出发吧! AI纵览 第二部分

目录 1.说明 2.第二部分(P9~P10) 机器学习算法总结(监督学习) 3.单词 4.专业术语 1.说明 书全名:How AI Works From Sorcery to Science 作者 Ronald T.Kneusel 2.第二部分(P9~P10) 总结机器学习算法 作者把机器学习的过程比喻成输入-->黑盒-->输出 这里的标签可…

HarmonyOS NEXT应用开发实战 ( 应用的签名、打包上架,各种证书详解)

前言 没经历过的童鞋,首次对HarmonyOS的应用签名打包上架可能感觉繁琐。需要各种秘钥证书生成和申请,混在一起也分不清。其实搞清楚后也就那会事,各个文件都有它存在的作用。 HarmonyOS通过数字证书与Profile文件等签名信息来保证鸿蒙应用/…

【自用】0-1背包问题与完全背包问题的Java实现

引言 背包问题是计算机科学领域的一个经典优化问题,分为多种类型,其中最常见的是0-1背包问题和完全背包问题。这两种问题的核心在于如何在有限的空间内最大化收益,但它们之间存在一些关键的区别:0-1背包问题允许每个物品只能选择…

Python_爬虫3_Requests库网络爬虫实战(5个实例)

目录 实例1:京东商品页面的爬取 实例2:亚马逊商品页面的爬取 实例3:百度360搜索关键词提交 实例4:网络图片的爬取和存储 实例5:IP地址归地的自动查询 实例1:京东商品页面的爬取 import requests url …

黑马微项目

目录 1 飞机票 2 生成一个五位数验证码 3 数字加密 4 数字解密 5 抢红包 6 双色球系统 7 用户登录 8 金额转换 9 手机号屏蔽 10 罗马数字转换 11 调整字符串 12 初级学生管理系统(学生数据的管理) 13 学生管理系统(用户的相关操…

C2M柔性制造模式

C2M柔性制造模式(Customer-to-Manufacturer,客户到制造商的柔性制造模式)是一种新型的生产模式,强调客户需求与制造过程的直接对接,并且能够快速响应和适应客户个性化的定制需求。这种模式结合了定制化生产与智能制造&…

IoT [remote electricity meter]

IoT [remote electricity meter] 物联网,远程抄表,电表数据,举个例子

2、开发工具和环境搭建

万丈高楼平地起,学习C语言先从安装个软件工具开始吧。 1、C语言软件工具有两个作用 1、编辑器 -- 写代码的工具 2、编译器 -- 将代码翻译成机器代码0和1 接下来我们介绍两种C语言代码工具:devcpp 和 VS2019,大家可以根据自己的喜好安装。 dev…

20241115在飞凌的OK3588-C的核心板上跑Linux R4时拿大文件到电脑的方法

20241115在飞凌的OK3588-C的核心板上跑Linux R4时拿大文件到电脑的方法 2024/11/15 15:26 缘起:使用SONY 405的机芯,以1080p60录像了半小时,3.5GB的mp4视频要拿到电脑上播放确认。 方法:1、拷贝到TF卡。记住,对于FAT32…

MySQL一些使用操作-持续更新

MySQL相关操作 1.MySQL不删除数据的情况下,让自增id重新排序 应用场景:Mysql(当你删除表中数据之后,造成自增id不连续,可能会导致需要用id进行的判断的时候不准确,所以我想到了要重新排序,当然…

async 和 await的使用

一、需求 点击按钮处理重复提交,想要通过disabled的方式实现。 但是点击按钮调用的方法里有ajax、跳转、弹窗等一系列逻辑操作,需要等方法里流程都走完,再把disabled设为false,这样下次点击按钮时就可以继续走方法里的ajax等操作…

解决 idea windows 设置maven离线模式之后,maven继续请求远程仓库

在内网开发的时候经常遇到没有办法来链接远程仓库的情况,这个时候需要设置maven的离线模式。 idea windows 设置maven离线模式之后,maven继续请求远程仓库 当设置完离线模式之后,有的时候执行maven的命令会报错,提示请求远程失败…

StructuredStreaming (一)

一、sparkStreaming的不足 1.基于微批,延迟高不能做到真正的实时 2.DStream基于RDD,不直接支持SQL 3.流批处理的API应用层不统一,(流用的DStream-底层是RDD,批用的DF/DS/RDD) 4.不支持EventTime事件时间(一般流处理都会有两个时间:事件发生的事件&am…

Python_爬虫1_Requests库入门

目录 Requests库 7个主要方法 Requests库的get()方法 Response对象的属性 爬取网页的通用代码框架 理解requests库的异常 HTTP协议及Requests库方法 HTTP协议 HTTP协议采用URL作为定位网络资源的标识。 HTTP协议对资源的操作 理解PATCH和PUT的区别 HTTP协议与Requse…

万字长文解读深度学习——生成对抗网络GAN

🌺历史文章列表🌺 深度学习——优化算法、激活函数、归一化、正则化深度学习——权重初始化、评估指标、梯度消失和梯度爆炸深度学习——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总万字长文解读…

学SQL,要安装什么软件?

先上结论,推荐MySQLDbeaver的组合。 学SQL需要安装软件吗? 记得几年前我学习SQL的时候,以为像Java、Python一样需要安装SQL软件包,后来知道并没有所谓SQL软件,因为SQL是一种查询语言,它用来对数据库进行操…

Leecode刷题C语言之统计好节点的数目

执行结果:通过 执行用时和内存消耗如下: 题目:统计好节点的数目 现有一棵 无向 树,树中包含 n 个节点,按从 0 到 n - 1 标记。树的根节点是节点 0 。给你一个长度为 n - 1 的二维整数数组 edges,其中 edges[i] [ai,…

【代码审计】常见漏洞专项审计-业务逻辑漏洞审计

❤️博客主页: iknow181 🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 0x01 漏洞介绍 1、 原理 业务逻辑漏洞是一类特殊的安全漏洞,业务逻辑漏洞属于设计漏洞而非实…

【408】SDN重点笔记

总特征:数据平面(负责转发)与控制平面(负责控制)分离 控制平面: 由服务器和软件组成。控制平面完成转发表,并分发。 路由器不再需要路由选择协议,不再交换信息,只负责收到…