Regex Previewer 插件需通过 Ctrl+Shift+P(Win)或 Cmd+Shift+P(macOS)调用 Toggle 命令启用,支持实时查看分组匹配与替换预览;any-rule 提供84种常用正则一键插入;跨行匹配应启用 PCRE2 或使用 (?s) 标志;$1 替换失败多因捕获组缺失或引号转义不当。

Regex Previewer 插件怎么装和用
装完就能实时看分组匹配结果,比原生 Ctrl+F 强太多——原生只高亮,不显示 $1 抓到了啥,也没替换预览。
安装后按 Ctrl+Shift+P(Windows)或 Cmd+Shift+P(macOS),输入 Regex Previewer: Toggle 回车,右侧就弹出面板。
-
Pattern栏粘正则,比如(\d{4})-(\d{2})-(\d{2}) -
Text栏贴测试文本,或让它自动读当前文件内容 - 注意:它用的是 JavaScript 正则引擎,不支持
\K、(? 这类 PCRE 特性
any-rule 插件解决“不会写正则”的问题
不是调试正则,是直接生成常用模式——手机号、邮箱、URL、日期,84 种规则一键插入,不用查文档、不手抖漏转义。
三种调用方式都快:F1 搜关键词(如 邮箱),右键选 ?正则大全,或在代码里打 @zz 触发提示。
- 返回的正则已适配 VS Code 的 JS 引擎,比如手机号是
/^(?:\+|00)86)?1[3-9]\d{9}$/ - 复制后直接进搜索框,记得先点
.*开关 - 别直接信它返回的
\b—— 中文环境基本无效,要换(? 或 <code>(?=\s|$)
跨行匹配总失败?得开 PCRE2
VS Code 默认的 JS 引擎里,. 不匹配换行符,[\s\S] 看似能绕过,但实际多行搜索常被截断;^/$ 也只认单行首尾。
真正稳定的方式是启用 search.usePCRE2:
- 设置里搜
usePCRE2,勾选Search: Use PCRE2 - 之后写
(?s).*?或[\s\S]*?才可靠 -
(?s)是内联标志,比全局开关更可控,推荐优先用它 - 老插件(比如某些 Bracket Pair Colorizer 版本)可能冲突,开之前先关其他高亮类插件试试
替换时 $1 不生效?检查这三处
不是正则写错,是上下文没对齐——捕获组引用在 VS Code 里很脆,错一点就静默失败。
- 搜索字段必须有括号,比如想提 id 值,得写
id="(\d+)",不能只写id="\d+" - 替换字段用双引号字符串时,
"data-id=\"$1\""要转义引号;写成"data-id="$1"会直接报SyntaxError - 全局替换前,先点开一条匹配项右侧的 ▶ 查看上下文——确认是不是把注释里的
id="123"也一起替了
最麻烦的是:Regex Previewer 预览正常,但实际执行时 $1 不展开,往往是因为插件权限限制或上下文未激活——这种时候,宁可拆成两步:先用正则提取,再手动粘贴替换。


















