带有捕获组的正则表达式用于 vs 代码片段

Regex with capturing group for vs code snippets

我正在尝试使用 VS 代码 snippets.For 生成 java class.I 正则表达式很糟糕。如 here 中所述,请遵循说明。

我正在尝试的是从我的项目路径中提取包名称 /home/bspl/Projects/SpringBoot/mdmssa/src/main/java/com/mdmssa/controller
应该像

com.mdmssa.controller

这里的关键字是java,它在每个项目中都保持不变。 直到现在我在 中的另一个线程之后想出了这个 "${TM_FILEPATH/.*[\/](.*[\/].*)$//}" 将不胜感激。

这个应该有用

${TM_DIRECTORY/.+java\/|([^\/]+)|(\/)/${2:+.}/g}

有了全局标志,我们有 3 个组可以转换

  1. .+java\/ - 包括最后一个 java/ 之前的所有内容都转换为空字符串
  2. ([^\/]+) - java/ 之后 / 之间的名称不会转换
  3. (\/) - / 通过 :+ 转换为 .,如果存在
  4. ,则转换捕获