You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Regex在regex101正常运行但VSCode中无效,该如何修复?

VSCode正则匹配问题:从Cat到下一个Dog(不含Dog)的解决方法

为什么会有平台差异?

  • VSCode的查找框使用正则时,不需要添加/这类正则分隔符,也不用在末尾写gm这类标志——标志是通过界面按钮来启用的。而regex101这类工具必须用/包裹正则、末尾加标志,直接复制完整内容到VSCode的话,/会被当成要匹配的字符,自然找不到目标内容。
  • 另外,虽然VSCode和regex101的JS正则引擎核心一致,但VSCode查找功能的默认选项和regex101有细微区别,比如换行匹配的开关需要手动确认。

怎么让正则在VSCode里正常工作?

  1. 输入正确的正则内容:先点击查找框左侧的.*图标切换到正则模式,然后输入不带分隔符和标志的正则:
    Cat[\s\S]*?(?=Dog)
    
  2. 开启对应的匹配选项:
    • 点击查找框右侧的Aa图标(对应全局匹配g标志),这样能匹配所有符合条件的片段;
    • 确认↵图标(匹配换行符)是开启状态,这个选项能保证正则跨多行匹配(不过[\s\S]本身已经能匹配换行,开了更保险)。

设置完成后,就能精准匹配到每一段从“Cat”开始到下一个“Dog”(不含Dog)的内容了。

内容的提问来源于stack exchange,提问作者Yiffany

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 10:34:58