从VS Code路径变量中选择段

时间:2019-08-26 19:37:15

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

我正在尝试编写一个代码段变量转换,该转换将从TM_FILEPATH提供的路径中抽出特定的段。

TM_FILEPATH~/Projects/folder/Dir/tests/Unit/FooTest.php

我需要抓住Dir。我正在尝试使用以下正则表达式:\/([^\/]*)\/tests

VS代码段转换:

${TM_FILEPATH/\\/([^\\/]*)\\/tests/$1/}

实际输出:

~/Projects/folderDir/Unit/FooTest.php

似乎该转换正在删除完全匹配的值,而不是用我需要的第一个匹配组替换变量。

1 个答案:

答案 0 :(得分:1)

尝试:

"${TM_FILEPATH/.*\\/([^\\/]*)\\/tests.*/$1/}",

我要做的就是在您的正则表达式前后添加一个.*

关键点:对于摘要转换,如果变量的一部分未包含在要转换的部分中,则不会进行转换,因此最终得到了结果。

>
${TM_FILEPATH/...part to be transformed.../$1/}

所以您的正则表达式很好,只是大多数变量没有“被信号通知”要转换,所以也没有。