【问题标题】:How to use Regex to 'capitalize and replace' in Visual Studio Code's snippets?如何使用正则表达式在 Visual Studio 代码片段中“大写和替换”?
【发布时间】:2020-09-22 01:26:01
【问题描述】:

我想在 Visual Studio Code 上创建一个 sn-p。

我尝试手动加入正则表达式,但它从来没有像我预期的那样工作:

输入: idss-static-frame.spec

预期结果: IdssStaticFrame

我的正则表达式: ${TM_FILENAME_BASE/((\\w+(?=\\-))*(\\w+(?=\\.))*)((\\-)*)/${1:/capitalize}/g}

实际结果: IdssStaticFrame.spec

我无法删除 .spec 字符串

【问题讨论】:

  • (\w+)-(\w+)-(\w+) 替换为$1$2$3 ?
  • 同事给了我答案。${TM_FILENAME_BASE/(?:\\.spec$)|(?:^|-|\\.)(.)/${1:/capitalize}/g}

标签: javascript regex visual-studio-code code-snippets


【解决方案1】:
"${TM_FILENAME_BASE/(\\w+)[-\\.]|.+/${1:/capitalize}/g}",

regex101

【讨论】:

    【解决方案2】:

    对于这种文件名,你可以使用

    "${TM_FILENAME_BASE/(\\w+)(?:-|\\.\\w+$)/${1:/capitalize}/g}",
    

    regex demo

    详情

    • (\w+) - 第 1 组:一个或多个单词字符
    • (?:-|\.\w+$) - -. + 字符串末尾的 1 个或多个单词字符。

    你可以使用

    "${TM_FILENAME_BASE/([^-]+)(?:-|\\.\\w+$)/${1:/capitalize}/g}",
    

    匹配包含除单词字符以外的字符的文件名,因为[^-]+ 匹配除- 之外的 1 个或多个字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2011-11-29
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 2021-02-05
      • 2017-09-20
      相关资源
      最近更新 更多