我正在编写一个sublimetext片段,我想镜像一个字段,但是将镜像字段作为小写字母,而原始字段是标题大小写。
getUser ('username', function(err, user){});
^^^^ ^^^^
Here它说我可以使用perl正则表达式,但我不知道要么弄清楚 什么是适当的正则表达式来实现这一目标?
get${1:User}('',function(err,${1/???/g}){});
答案 0 :(得分:2)
正如format string中所述,您需要snippets reference到正则表达式,而不是进行简单的替换。因此,您的代码段应如下所示:
<snippet>
<content><![CDATA[
get${1:User} ('$2', function(err, ${1/(.*)/\L\1\E/i}){$0});
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>get</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.c</scope>
</snippet>
正则表达式匹配变量$1
中的所有可能字符(换行符除外)并将其替换为自身,但将其全部格式化为小写(\L
开始小写,\1
是第一个捕获组,\E
结束它)。执行此操作后,按 Tab 将移至$2
,因此您可以根据需要输入该值。再次点击 Tab 将光标放在{}
花括号之间。
确保将<scope>
设置为适当的语言。