如何使用Regex从vscode用户代码段中的TM_FILEPATH返回目录?

如何使用Regex从vscode用户代码段中的TM_FILEPATH返回目录?,regex,visual-studio-code,code-snippets,vscode-snippets,Regex,Visual Studio Code,Code Snippets,Vscode Snippets,我正在寻找一种方法来创建一个用户代码段,以便从项目中获取核心目录。以下是我正在使用的示例路径: C:dev/Pseudope/Unreal/cubite/Source/CubicleCore/Private 创建vscode代码段时,${TM_FILEPATH}将返回此路径,以便与正则表达式一起使用。我希望能够将这些代码段用于不同的项目,这些项目都将具有与上面的文件路径相同的结构,其中我希望应用于代码段的文本将始终嵌套在源代码和Private | Public之间。这是我到目前为止拥有的正则表达

我正在寻找一种方法来创建一个用户代码段,以便从项目中获取核心目录。以下是我正在使用的示例路径:

C:dev/Pseudope/Unreal/cubite/Source/CubicleCore/Private

创建vscode代码段时,
${TM_FILEPATH}
将返回此路径,以便与正则表达式一起使用。我希望能够将这些代码段用于不同的项目,这些项目都将具有与上面的文件路径相同的结构,其中我希望应用于代码段的文本将始终嵌套在源代码和Private | Public之间。这是我到目前为止拥有的正则表达式:

(?您可以使用

“UE日志(LOG${TM\u FILEPATH/*Source[\\\\\/]([^\\\/]+)[\\\\\/](?:Private | Public)。*/$1/},日志,文本(\'Hello')”

详情:

  • *
    -尽可能多的零个或多个字符
  • Source
    -
    Source
  • [\\/]
    -
    /
    \
  • ([^\\/]+)
    -第1组(
    $1
    ):除
    \
    /
    之外的任何一个或多个字符
  • [\\/]
    -a
    /
    \
    字符
  • (?:Private | Public)
    -
    Private
    Public
    字符串
  • *
    -尽可能多的零个或多个字符

感谢您的快速回复。我感谢您的详细解释。这不仅解决了我的问题(我已经在vscode中进行了测试),而且还提供了对正则表达式更深入的理解。谢谢!@Pseudope我应该在
${TM_FILEPATH/pattern/replacement/flags}
中提到,您需要使用repalcement逻辑(您使用了一个匹配的转义反斜杠),并且您还需要使用两个转义反斜杠来形成正则表达式转义,否则,如果它们不是有效字符串转义序列的一部分,它们将被忽略。@Pseudope很高兴它对您有效。如果我的回答对您有帮助,也请注意。