正则表达式在 regex101 上工作但不在 Vscode 片段中

Regex working on regex101 but not in Vscode snippet

我正在努力使用在 regex101 上运行良好的正则表达式:https://regex101.com/r/Hhj2l9/1,但在 html.

的 vscode 片段中却不行

来自以下字符串:C:\folder0\folder1\folder2\libtest\folder3\folder4\folder5

我在 regex101 上得到以下结果:libtest/libfolder3/libfolder4/folder5,这正是我想要的。

在我的代码片段中:

lib${TM_DIRECTORY/(?:.*lib)?([^\\.*]*)\\/\//g}

下面的结果在html:

lib${TM_DIRECTORY/(?:.*lib)?([^\.*]*)\/\//g}

有人知道如何让它在 vscode 片段中发挥作用吗? 提前致谢。

您可以使用

"${TM_DIRECTORY/(?:.*[\\\/]lib)?([^\\\/]+)[\\\/]/lib\//g}"

这里,

  • (?:.*[\\/]lib)? - 尽可能多地匹配除换行符之外的任何零个或多个字符的可选出现,然后 \/lib
  • ([^\\\/]+) - 第 1 组 (</code>):除 <code>\/
  • 之外的一个或多个字符
  • [\\\/] - /\.