我正在尝试制作一个插入当前文件路径的最后两个directorys的代码段。
我的代码:
${TM_DIRECTORY/\\(.*)\\([a-zA-Z]+)\\([a-zA-Z]+)/$1\\$2/}
所以当Filepath是
时
"...\htdocs\projectname\src"
输出应为
"projectname\src"
。
但相反,我得到了这个结果:
${TM_DIRECTORY/(.*)\\([a-zA-Z]+)\\([a-zA-Z]+)/$1/}
我做错了什么?
答案 0 :(得分:0)
问题:
问题是代码将\\
转换为\
。例如,如果要编写\w
,则必须在代码段中编写\\w
。
相同的方式。您必须在代码片段json中写入\\\\
,以便它将转换为//
。
解决方案:
${TM_DIRECTORY/.*?\\\\([a-zA-Z]+\\\\[a-zA-Z]+)$/$1/}
或者,我认为您应该使用\w
而不是[a-zA-Z]
,因为目录名可以包含-
或_
等字符。
${TM_DIRECTORY/.*?\\\\(\\w+\\\\\\w+)$/$1/}