一、开启正则查找替换模式
首先需要打开VS Code的查找替换面板,并启用正则功能:
- 打开查找替换面板:可以使用快捷键
Ctrl + H(Windows/Linux)或Cmd + H(Mac),也可以通过左侧活动栏的「查找」图标(放大镜)展开后切换到「替换」标签。 - 启用正则模式:在查找替换面板中,找到「使用正则表达式」按钮(图标是
.*),点击它即可开启(按钮亮起表示已启用,再次点击可关闭)。- 辅助提示:开启后,查找框和替换框会支持正则语法,同时普通的特殊字符(如
.、*)会变成正则元字符,需要转义才能匹配原字符。
- 辅助提示:开启后,查找框和替换框会支持正则语法,同时普通的特殊字符(如
二、核心操作:正则查找
开启正则模式后,就可以在「查找」输入框中输入正则表达式,VS Code会实时高亮匹配的内容。
常见正则语法示例(实用场景)
| 正则表达式 | 匹配说明 | 适用场景 |
|---|---|---|
\d+ |
匹配1个及以上数字(整数) | 查找文档中的所有编号、数值 |
\w+@\w+\.\w+ |
简单匹配邮箱格式 | 查找文档中的邮箱地址 |
^#.+\n |
匹配以 # 开头的整行(含换行符) |
查找Markdown中的一级标题 |
\s+ |
匹配1个及以上空白字符(空格、制表符等) | 查找多余的空白内容 |
hello\w* |
匹配以 hello 开头的任意单词(后续可跟字母/数字/下划线) |
查找hello相关的衍生词汇 |
示例:在文档中输入 user123 age25 email: test@xxx.com,输入 \d+ 会高亮 123 和 25;输入 \w+@\w+\.\w+ 会高亮 test@xxx.com。
三、核心操作:正则替换
替换功能支持「正则捕获组」,可以复用查找匹配到的内容,这是最实用的功能之一。
1. 捕获组的使用
-
语法:查找时用
()包裹需要捕获的内容(分组),替换时用$1、$2、$3... 对应第1、2、3...个捕获组($0对应整个匹配的内容)。 -
示例1:批量给变量添加前缀
- 查找:
(user|name|age)(\d+)(捕获两个分组:变量前缀、数字后缀) - 替换:
prefix_$1$2 - 效果:
user123→prefix_user123,age25→prefix_age25
- 查找:
-
示例2:调整日期格式(
yyyy-mm-dd转mm/dd/yyyy)- 查找:
(\d{4})-(\d{2})-(\d{2})(捕获年、月、日三个分组) - 替换:
$2/$3/$1 - 效果:
2025-12-26→12/26/2025
- 查找:
2. 常用替换技巧
- 去除多余空白:查找
\s+$(匹配行尾的所有空白),替换框留空,可批量清除每行末尾的无用空格。 - 批量注释:查找
^(.+)(匹配非空行的整行内容),替换// $1(给每行添加Java/JS风格注释)。 - 提取内容:查找
.*id:"(\w+)".*(匹配包含id:"xxx"的行,并捕获id值),替换$1,可批量提取所有id值并丢弃其他内容。
四、实用注意事项
- 转义字符:在正则中,
.、*、+、?、(、)等是元字符,如果要匹配这些字符本身,需要在前面加\(如查找.需输入\.,查找(需输入\()。 - 多行匹配:默认正则是单行匹配,若要跨多行匹配,需勾选查找替换面板中的「匹配换行符」(图标是
↵,开启后.可以匹配换行符)。 - 大小写敏感:默认是大小写不敏感,若需要精确匹配大小写,勾选「大小写敏感」(图标是
Aa)。 - 预览效果:输入正则和替换内容后,VS Code会实时高亮匹配项,并在替换预览中显示修改后的效果,确认无误后再执行替换。
- 批量替换:点击「替换全部」(
Alt + A)可一次性替换所有匹配项,点击「替换」可逐个替换(方便确认)。
总结
- 开启正则模式:
Ctrl+H打开替换面板,点击.*按钮启用正则功能。 - 核心技巧:用
()捕获分组,替换时通过$1/$2复用捕获内容,实现批量调整格式。 - 实用场景:批量修改变量名、调整日期/编号格式、去除多余空白、批量注释/提取内容等。