VSCode代码片段转换

时间:2018-07-10 19:43:35

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

我有这个:

${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/downcase}/g}

如何在同一(2)组上使用downcasecapitalize

${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/downcase/capitalize}/g}

我想获取ZXC_ASD> zxcAsd。

2 个答案:

答案 0 :(得分:4)

像这样尝试:

"camelCaseSnail": {
"scope": "javascript,typescript",
    "prefix": "log",
    "body": "${1/([A-Z]*)(?:_)(?:([A-Z])([A-Z]+))*/${1:/downcase}${2:/capitalize}${3:/downcase}/g}"
}

enter image description here

基本上,我已将第二个捕获组([A-Z]+)*更改为具有两个内部捕获组(?:([A-Z])([A-Z]+))*的非捕获组,其中一个用于驼峰式字母,其余的用于我参考在替换/转换部分中:/downcase}${2:/capitalize}${3:/downcase}/

答案 1 :(得分:0)

使用无证件吗?? (请参见Snippet regex: match arbitrary number of groups and transform to CamelCase/pascalcase转换,这很容易:

"${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/pascalcase}/g}"

因为/pascalcase将同时执行/capitalize/downcase