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

如何避免正则表达式相似模式重复?VS Code扩展适配需求

优化VS Code扩展中匹配Python三引号文档字符串的正则

需求背景

我在VS Code中使用一款可隐藏注释的扩展,希望通过正则匹配隐藏Python的三引号文档字符串("""字符串"""或'''字符串''')。这类内容虽不属于严格意义的注释,但常被当作注释使用,会让代码显得杂乱。扩展支持通过正则表达式匹配额外内容来隐藏,但我目前写出的正则存在大量冗余,想要优化。

限制条件

  • 无法确认扩展使用的正则方言,但大概率为JavaScript/TypeScript正则
  • 只能通过单个正则表达式实现需求,无法修改扩展代码添加额外逻辑

匹配规则要求

需要匹配的内容需符合以下格式:

行首任意空白符(制表符或空格) + 三个单/双引号 + 任意内容(允许最多两个连续的同类型引号) + 三个同类型引号

示例目标匹配内容:

"""This is a long Python ""docstring"" that sometimes is used as a
comment. It can include newlines without using "\\n", although it
will print "\\n" as a newline."""

当前实现的正则

以下正则可正常工作,但存在大量重复模式,写法冗余:

"regex": "(^(\\s)*([\"]{3})(([^\"]{1,2}[^\"])|[^\"])*([\"]{3}))|(^(\\s)*([']{3})(([^'][']{1,2}[^'])|[^'])*([']{3}))",
"flags": ""

提问

有没有办法避免这种重复的正则模式?我记得正则中有类似“命名捕获组”的特性,但不清楚如何在这个场景中应用。


内容的提问来源于stack exchange,提问作者Carlos González

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 22:42:54