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

首先, 我们需要稍微学习一下正则表达式的使用方式,可以看这里: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的后缀名即可

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

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

相关推荐
雷神乐乐12 小时前
Oracle正则表达式学习
数据库·sql·oracle·正则表达式
2301_7891695415 小时前
正则表达式的修饰符
正则表达式
zzj_2626102 天前
头歌java课程实验(学习-Java字符串之正则表达式之元字符之判断字符串是否符合规则)
java·学习·正则表达式
Hubert_xx2 天前
SQL正则表达式总结
前端·sql·正则表达式
扶风呀4 天前
正则表达式
正则表达式
phubing6 天前
Oracle 正则表达式匹配(Oracle 11g)
oracle·正则表达式
不二狗7 天前
每日算法 -【Swift 算法】字符串转整数算法题详解:myAtoi 实现与正则表达式对比
算法·正则表达式·swift
尘埃不入你眼眸7 天前
Python字符串及正则表达式
正则表达式
Java永无止境8 天前
正则表达式:字符串模式匹配的利器
java·开发语言·正则表达式·常见api
程序猿多布8 天前
C# 正则表达式
正则表达式