使用regex从Java中的路径中提取环境变量名称

时间:2016-06-08 15:52:07

标签: java regex

我必须使用java方法提取环境变量的值。

我的路径是$ {rootPath} / user / settings,我想要的值是rootPath。

我尝试了以下内容,但它说“找不到匹配”:

Pattern.compile("\\$\\{(\\w+)\\}").matcher("${rootPath}/user/settings").group(1);

如果我使用replace方法,它将替换$ {rootPath}值。我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用replaceAll()并不是一个坏主意恕我直言,代码看起来很简单:):

public static void main(String[] args) {
    String s = "${rootPath}/user/settings";
    System.out.println(s.replaceAll("\\$\\{(.*?)\\}.*","$1"));
}

O / P:

  

ROOTPATH