一文看懂Everything正则表达式语法和文件批量重命名神器
正则表达式是什么
正则表达式(Regular Expression),听起来很高大上,其实就是一种能匹配字符组合的模式。简单来说,它可以帮助我们在一堆文本里按照特定规则找到想要的内容。比如说,你想在一篇文章里找出所有的邮箱地址、电话号码,又或者从大量文件名里筛选出符合某种命名规范的文件,正则表达式就能派上用场。
它由普通字符(像字母、数字)和特殊元字符组成。普通字符就是按字面意思匹配,比如 “a” 就匹配文本里的 “a”;而元字符有特殊含义,像 “.” 能匹配除换行符外的任意单个字符 ,“*” 表示前面的字符可以出现零次或多次 ,“+” 表示前面的字符至少出现一次 。把这些普通字符和元字符组合起来,就能构建出各种强大的匹配规则。比如 “abc.” 这个正则表达式,就能匹配 “abc1”“abcx” 等字符串。
为什么在 Everything 使用正则表达式?使用场景
在 Everything 中,普通搜索方式虽然简单直接,但有时候会有些局限性。比如你想找所有以 “report” 开头,后面跟着四位数字,再以 “.txt” 结尾的文件,普通搜索可能就很难精准定位了。这时候正则表达式就能大显身手!在 Everything 里使用正则表达式搜索,能突破这些限制,让我们按照更复杂的规则去查找文件。
假设你在整理工作资料时,文件命名规则是 “项目名称日期版本号”,通过正则表达式,就能轻松筛选出特定项目、特定日期范围或者特定版本号的文件。又比如,你电脑里有很多图片,文件名里既有中文描述又有数字编号,想找出编号为三位数的图片文件,正则表达式就能快速帮你定位。正则表达式可以让我们更灵活、更精准地定位文件,大大提升搜索效率 。
Everything 中开启正则表达式搜索
在Everything中,默认使用的是其特有的搜索语法。要使用正则表达式,必须先在设置中明确开启该功能,否则输入的正则规则将被当作普通文本处理。
1、怎么开启
搜索框使用regex:前缀
regex可结合其他函数一起使用,比如path:,限制搜索路径
例如:如何找到以1位数字开头的文件?
regex:^([0-9])$ regex:(^[0-9]{1}$) ... 或者: regex:(^d$) regex:^(d{1})$ 如果想检索2位数字那就把{1}改成{2},依次类推 regex:(^[0-9]{2}$) regex:^(d{2})$ 菜单开启正则表达式
要在 Everything 里用上正则表达式搜索,操作并不复杂。打开 Everything 软件后,你会看到界面很简洁,主要就是一个搜索框 。点击菜单栏中的 “搜索” 选项 ,这时会弹出一个下拉菜单,在里面找到 “使用正则表达式” 选项并勾选 。
image-20251102093905923快捷键开启:
Ctrl+R
2、开启后注意事项
开启正则表达式搜索后,搜索语法就和普通搜索不一样了。以前普通搜索输入文件名关键词就能查找,现在得按照正则表达式的语法规则来输入。比如,你要是还像普通搜索那样输入 “report 2023” ,可能就找不到想要的文件,得写成符合正则表达式规则的模式,像 “reportd {4}” ,才能正确匹配到文件名里包含 “report” 以及紧接着四位数字的文件。
还要注意,在正则表达式搜索模式下,默认是大小写敏感的。也就是说,“Report” 和 “report” 会被当成不同的字符串。要是你想忽略大小写进行搜索,可以在正则表达式开头加上 “(?i)” ,比如 “(?i) reportd {4}” ,这样不管文件名里是 “Report” 还是 “report” ,都能搜索出来。
Everything软件帮助查看正则语法:
image-20251102094444862在 Everything 搜索中的运用
掌握了在 Everything 中开启正则表达式搜索的方法后,接下来就是深入了解正则表达式的基础语法在 Everything 搜索里的运用啦。正则表达式的语法丰富多样,下面我就挑一些常用又超实用的语法来讲讲,还会结合具体的文件搜索场景,让大家轻松上手。
1、字符匹配
普通字符:在正则表达式里,普通字符最简单直接啦。你直接输入普通字符,Everything 就会搜索包含这些字符的文件名 。比如说,你输入 “report” ,它就会把文件名里含有 “report” 的文件都找出来,像 “annual_report.docx”“sales_report.xlsx” 这些文件都会出现在搜索结果里 。这就跟普通搜索有点像,但在结合其他正则语法时,普通字符就能发挥更大作用。
元字符:元字符可是正则表达式的精髓所在 。常用的元字符有 “.”“*”“+”“?”“” 等 。先说 “.”,它代表任意单个字符(换行符除外) 。假如你想找文件名里有 “a”,后面跟着任意一个字符,再接着是 “c” 的文件,就可以输入 “a.c” ,像 “abc.txt”“a1c.jpg” 这样的文件就能被搜索到 。
“*” 代表前一个字符出现 0 次或多次 。比如你想找文件名里包含 “file” ,后面跟着任意多个 “v” 和数字的文件,就可以用 “file (vd)*” 这个正则表达式 。像 “file.txt”“file_v1.txt”“file_v1_v2.txt” 这些文件都能匹配上 。这里的 “d” 也是一个元字符,表示任意一个数字 。
常用元字符对比:

.不能匹配换行符,但可以匹配其他任意字符,如字母、数字、符号等*是贪婪匹配,会匹配尽可能多的字符,而*?是非贪婪匹配,会匹配尽可能少的字符?常用于使前面的字符变为可选,例如colou?r可以匹配color或colour
元字符说明示例

2、字符集合
方括号 []:方括号的作用是列举出一个字符集合,匹配其中任意一个字符 。比如 “[aeiou]” ,就表示匹配任意一个元音字母 。要是你想找文件名里包含元音字母的文件,输入 “[aeiou]” 就行 。假设你有文件名为 “apple.jpg”“book.txt”“movie.mp4” ,搜索 “*[aeiou]*” ,“apple.jpg” 和 “movie.mp4” 就会出现在结果里 ,因为它们的文件名包含元音字母 。
regex:[aeiou] ext:jpg path:E:素材截图
image-20251102101325401
范围表示:在方括号里,还可以用 “-” 来表示范围 。像 “[a - z]” 就表示匹配任意一个小写英文字母,“[0 - 9]” 表示匹配任意一个数字 。比如说,你想找文件名以数字开头,后面跟着任意小写字母的文件,就可以用 “^[0 - 9][a - z]*” 这个正则表达式 。如果有文件名为 “1a.txt”“2b.jpg”“3c.pdf” ,就能通过这个表达式搜索出来 。
p{Han} 是一个 Unicode 字符类,表示中文汉字。在正则表达式中使用 p{Han} 可以匹配任何属于 Unicode 汉字类别(如中文、日文或韩文等东亚语言中的汉字)的字符
image-202511021102333663、数字集合
匹配纯数字文件:使用
^d+$可以匹配文件名完全由数字组成的文件

匹配开头数字:
^d+匹配以数字开头的文件名,如 "123abc.txt"匹配特定位数数字:
^d{3}匹配以3位数字开头的文件,d{2,4}匹配2到4位数字匹配文件中的数字:
.+d+.+匹配文件名中包含数字的文件匹配非数字字符:使用
D可以匹配任意非数字字符
4、锚点
1、^ 开头:“^” 这个符号在正则表达式里表示匹配字符串的开头 。在 Everything 搜索里,用它可以精准定位以特定字符或字符串开头的文件名 。比如你输入 “^report” ,搜索的就是以 “report” 开头的文件名 ,像 “report_2023.pdf”、“report_summary.docx” 这些文件会被找到 ,而 “annual_report.xlsx” 就不会出现在结果里,因为它不是以 “report” 开头 。
image-20251102102057989使用快捷键:Ctrl+I,区分大小写
image-202511021023358462、$(结尾:“$” 表示匹配字符串的结尾 。在搜索文件时,这个符号特别适合找特定扩展名的文件 。比如 “.txt$” ,就能搜索出所有以 “.txt” 结尾的文件 ,像 “document.txt”“notes.txt” 等 。要是文件名是 “text.docx” ,就不符合这个正则表达式,不会被搜索到 。
正则表达式高级语法进阶
掌握了基础语法,就像学会了单词和简单句式,能进行基本交流了。但想要在文件搜索里游刃有余,还得深入学习高级语法,像掌握复杂句式一样,让我们的搜索技能更上一层楼。
1、分组与捕获
在 Everything 的正则表达式中,小括号 () 主要有两大核心功能:分组和捕获
1)分组概念:分组就像是给正则表达式里的字符 “打包”,用括号 “()” 把多个字符括起来,当成一个整体来操作 。比如说,你想匹配 “red” 或者 “blue” ,写成 “(red|blue)” ,这里 “(red|blue)” 就是一个分组 ,“|” 是或运算符号 ,表示匹配 “red” 或者 “blue” 其中之一 。要是没有分组,写成 “red|blue” ,它可能会匹配 “r”“e”“d”“b”“l”“u”“e” 这些单个字符的各种组合,就不是我们想要的结果啦 。
例如,表达式 gr(a|e)y 会匹配 gray 和 grey,其含义等同于 gray|grey
image-20251102104955173在使用 () 时,需要注意竖线 | 表示“或”运算,在正则表达式模式下,| 的两侧不应有空格
2) 捕获组应用
捕获组是分组的一个强大功能,它能把分组里匹配到的内容 “抓” 出来,方便后续操作 。在文件搜索和重命名时,捕获组特别有用 。比如,你的文件命名格式是 “项目名日期版本号” ,像 “project1_20230101_v1” ,你想提取出日期部分,就可以用正则表达式 “^.(d{8}).$” 。这里 “(d {8})” 就是一个捕获组 ,它会捕获 8 位数字,也就是日期 。在 Everything 的重命名功能里,就可以用 “1” 来引用这个捕获组的内容 。比如把文件重命名为 “new_project_1_backup” ,重命名后的文件就会变成 “new_project_20230101_backup” 。
2、逻辑运算
或运算 |:“|” 这个符号在正则表达式里表示或运算 ,用来匹配多个模式中的任意一个 。在 Everything 搜索文件时,这个功能超实用 。假如你想找电脑里所有的图片文件,图片格式有 jpg 和 png ,就可以用 “.(jpg|png) 表示匹配字符串结尾 。这样就能把所有以 “.jpg” 或者 “.png” 结尾的图片文件都搜索出来 。
image-20251102105926329组合使用逻辑运算:在实际搜索中,还可以把多个逻辑运算组合起来,实现更复杂的搜索规则 。比如,你有一些工作文件,命名规则是要么以 “file” 开头,要么以 “document” 开头,后面跟着 3 位数字,再以 “.txt” 结尾 。这时候就可以用 “^(file|document)[0-9]{3}.txt” 这个正则表达式 。“^” 表示匹配字符串开头 ,“(file|document)” 是或运算分组 ,“[0-9]{3}” 表示匹配3位数字 ,“.txt” 表示匹配以 “.txt” 结尾 。通过这样的组合,就能精准地找到符合复杂命名规则的文件 。
image-202511021057017563、批量文件重命名(批量重命名神器)
选中文件后,按下“F2”键,将进入重命名模式
对于更复杂的重命名需求,如将 "image_001.jpg" 这种格式改为 "photo_001.jpg",可使用:
image-20251102111138057按Ctrl+A,F2,跳出重命名窗口
勾选正则表达式
image-20251102111358497
image-20251102111446016此时,你可以直接修改文件名,或使用内置的变量(如%date%,%time%等)来自动生成新的文件名
常见正则表达式搜索案例
1、特定的文件类型筛选
在电脑里找特定类型的文件是常有的事,正则表达式在这方面超厉害。比如说你想听音乐了,想把电脑里所有音频文件找出来 ,就可以用 “.(mp3|wav|flac)” 这个正则表达式 。这里“.” 是转义后的点,因为点在正则表达式里是元字符,代表任意字符(换行符除外) ,所以得用“” 把它转义成普通的点 。“(mp3|wav|flac)” 是一个分组 ,“|” 是或运算符号 ,表示匹配“mp3”“wav”“flac” 这三种扩展名中的任意一种 。“” 表示匹配字符串的结尾 。整个表达式的意思就是,匹配以 “mp3”“wav” 或者 “flac” 结尾的文件 ,这样就能把各种格式的音频文件一网打尽啦 。再比如,你想找所有图片文件,图片格式有 jpg、png、gif ,就可以用 “.(jpg|png|gif)$” 这个表达式 ,轻松找出各种格式的图片 。
2、按命名规则搜索
很多时候,我们的文件命名是有规则的,用正则表达式就能按这个规则精准搜索 。假设你的工作项目文件命名规则是 “project年份月份” ,像 “project_2023_01” 这样 。那要搜索这类文件,就可以用 “^projectd {4}d {2}.w+“表示匹配以点开头,后面跟着至少一个字母、数字或下划线的字符串,也就是匹配文件扩展名 。这样就能精准找到符合 “project年份月份” 命名规则的文件 。
3、特殊字符处理
文件命名里有时候会出现特殊字符,像 “&”“”“?” 这些 。在正则表达式里,这些字符都有特殊含义 ,要是直接用它们搜索文件名里含这些字符的文件,肯定不行 ,得进行转义处理 。比如,你想找文件名里有 “&” 这个字符的文件 ,在正则表达式里就得写成 “&” ,这里 “” 就是转义字符 ,把有特殊含义的 “&” 转义成普通字符 。要是搜索文件名里有 “” 字符的文件 ,就得写成 “*” 。再比如,文件名里有 “?” 字符,搜索时得写成 “?” 。通过这样的转义处理,就能准确搜索到文件名里包含特殊字符的文件啦 。
搜索优化与注意事项
1、优化搜索效率
在使用正则表达式在 Everything 中搜索时,为了让搜索又快又准,有几个小窍门。首先,别写太宽泛的正则表达式 。比如 “.*” 这种表达式,它几乎能匹配任何字符串,搜索时会遍历大量文件,特别耗时 。要是你想找特定类型文件,像图片,就直接用 “.(jpg|png|gif)$” 这种精准的表达式,缩小搜索范围,速度就快多了 。
合理利用 Everything 的索引 。Everything 会自动为文件建立索引,我们要尽量利用已有的索引信息来构建正则表达式 。比如,你知道文件命名规则里项目名和日期是固定格式,那就按照这个格式写正则表达式,利用索引快速定位 。要是正则表达式和索引不匹配,搜索效率就会大打折扣 。
2、注意事项
使用正则表达式搜索时,得小心语法错误 。正则表达式语法复杂,一个小错误就可能导致搜索不到结果 。比如,忘了转义特殊字符,像搜索文件名里有 “.” 的文件,写成 “.” 就不行,得写成 “.” 。要是搜索没结果,先检查下正则表达式语法,有没有少写括号、转义字符这些 。
不同操作系统或者 Everything 软件版本,对正则表达式的支持可能有差异 。有些高级语法在老版本里可能不支持,或者支持的程度不一样 。所以,要是在不同环境下用正则表达式搜索,发现结果不一样,先看看是不是版本兼容性的问题 。可以去 Everything 官方文档或者社区论坛,查查对应版本的正则表达式支持情况 。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
