我有这个:
${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/downcase}/g}
如何在同一(2)组上使用downcase
和capitalize
?
${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/downcase/capitalize}/g}
我想获取ZXC_ASD> zxcAsd。
答案 0 :(得分:4)
像这样尝试:
"camelCaseSnail": {
"scope": "javascript,typescript",
"prefix": "log",
"body": "${1/([A-Z]*)(?:_)(?:([A-Z])([A-Z]+))*/${1:/downcase}${2:/capitalize}${3:/downcase}/g}"
}
基本上,我已将第二个捕获组([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
。