gpt4 book ai didi

regex - 如何在 Visual Studio Code 的代码片段中使用正则表达式 'uppercase and replace'?

转载 作者:行者123 更新时间:2023-12-02 20:00:37 25 4
gpt4 key购买 nike

我想在 Visual Studio Code 1.33.1 上创建一个代码片段,使用文件名创建一个 C++ 类。
首先,我要设置“包含保护”,重点是使用文件名,替换每个“。”通过“_”并将其全部设置为大写(规范):
#ifndef FILE_CLASS_HPP//文件名:File.class.hpp

VSC documentation为文件名提供一些变量,以及一些用于更改为全部大写并用另一个字符替换字符的正则表达式。
要点是:我从来没有成功地做到这两件事,因为我对正则表达式一无所知。

我尝试手动加入正则表达式,但从未成功:
#ifndef ${TM_FILENAME/(.*)/${1:/upcase}/[\\.-]/_/g}

预期结果:
#ifndef FILE_CLASS_HPP
实际结果:
#ifndef ${TM_FILENAME/(.*)//upcase/[\.-]/_/g}

最佳答案

这应该有效:

"Filename upcase": {
"prefix": "_uc",
"body": [
"#ifndef ${TM_FILENAME/([^\\.]*)(\\.)*/${1:/upcase}${2:+_}/g}"
],
"description": "Filename uppercase and underscore"
},

([^\\.]*)(\\.)*  group1: all characters before a period
group2: the following period

将 group1 中的所有内容替换为大写:${1:/upcase}

将所有 group2s ' 替换为 _

${2:+_}条件替换,因此您只需在 group1 大写 < 的末尾添加 _强>如果有下面的组2。

在这种情况下,需要使用 g 全局标志来捕获所有出现的 group1group2,而不仅仅是第一个。

关于regex - 如何在 Visual Studio Code 的代码片段中使用正则表达式 'uppercase and replace'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55967537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com