从 VS 代码路径变量中提取段
Plucking segment from VS Code path variable
我正在尝试编写一个片段变量转换,它将从 TM_FILEPATH
提供的路径中提取特定段。
TM_FILEPATH
: ~/Projects/folder/Dir/tests/Unit/FooTest.php
我要抢Dir
。我正在尝试使用以下正则表达式:\/([^\/]*)\/tests
.
VS 代码片段转换:
${TM_FILEPATH/\/([^\/]*)\/tests//}
实际输出:
~/Projects/folderDir/Unit/FooTest.php
似乎转换正在删除完全匹配的值,而不是用第一个匹配组替换变量,这正是我需要的。
尝试:
"${TM_FILEPATH/.*\/([^\/]*)\/tests.*//}",
我所做的只是在您的正则表达式前后添加一个 .*
。
要点:对于snippet transforms,如果变量的一部分不包含在要转换的部分中,则不会进行转换,因此最终在最终结果。
${TM_FILEPATH/...part to be transformed...//}
所以你的正则表达式很好,只是大部分变量没有"signalled"被转换,所以也没有。
我正在尝试编写一个片段变量转换,它将从 TM_FILEPATH
提供的路径中提取特定段。
TM_FILEPATH
: ~/Projects/folder/Dir/tests/Unit/FooTest.php
我要抢Dir
。我正在尝试使用以下正则表达式:\/([^\/]*)\/tests
.
VS 代码片段转换:
${TM_FILEPATH/\/([^\/]*)\/tests//}
实际输出:
~/Projects/folderDir/Unit/FooTest.php
似乎转换正在删除完全匹配的值,而不是用第一个匹配组替换变量,这正是我需要的。
尝试:
"${TM_FILEPATH/.*\/([^\/]*)\/tests.*//}",
我所做的只是在您的正则表达式前后添加一个 .*
。
要点:对于snippet transforms,如果变量的一部分不包含在要转换的部分中,则不会进行转换,因此最终在最终结果。
${TM_FILEPATH/...part to be transformed...//}
所以你的正则表达式很好,只是大部分变量没有"signalled"被转换,所以也没有。