从 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"被转换,所以也没有。