正则表达式与vs代码段捕获组

时间:2018-12-01 05:54:07

标签: regex code-snippets

我正在尝试编写VS代码片段,用于生成Java类。正则表达式太糟糕了。如here中所述,按照说明进行操作。

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

com.mdmssa.controller

此处的关键字为java,在每个项目中都将保持不变。 直到现在,我在stackoverflow中的另一个线程之后提出了这个问题 "${TM_FILEPATH/.*[\\/](.*[\\/].*)$/$1/}" 帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这应该工作

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

使用全局标志,我们有3个可转换的组

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