0

我正在尝试编写一个片段变量转换,它将从TM_FILEPATH.

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

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

VS 代码片段转换:

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

实际输出:

~/Projects/folderDir/Unit/FooTest.php

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

4

1 回答 1

1

尝试:

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

我所做的只是.*在你的正则表达式之前和之后添加一个。

关键点:对于片段转换,如果部分变量不包含在要转换的部分中,它将不会被转换,因此最终会出现在最终结果中。

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

所以你的正则表达式很好,只是大部分变量没有“发出信号”进行转换,所以也没有。

于 2019-08-26T20:03:17.623 回答