对于下面给定的字符串,如何提取出其中的变量?

变量用法:{$变量名}

如:{$LOAD_PATH}/61347d650c1a451e98b0fe8389b25f3c/{$TIMESTAMP}

应该识别出包含两个变量,分别是LOAD_PATH和TIMESTAMP。


问题补充:补充说明:这里要通过正则表达式识别出包含的变量名称?


慕神8447489
浏览 74回答 3
3回答

阿波罗的战车

String str = "{$LOAD_PATH}/61347d650c1a451e98b0fe8389b25f3c/{$TIMESTAMP}";  Pattern pattern = Pattern.compile("\\{\\$(\\w+)\\}");    Matcher matcher = pattern.matcher(str);  while (matcher.find()) {      System.out.println(matcher.group(1));  }  应该还要考虑到{}的情况,否则就会把路径里面有$的给解析了

江户川乱折腾

一般我们在页面中是显示了值 所以应该是这样写成这样String str = "{2222}/61347d650c1a451e98b0fe8389b25f3c/{333}";  Pattern pattern = Pattern.compile("\\{(\\w+)}");   Matcher matcher = pattern.matcher(str);  while (matcher.find()) {      System.out.println(matcher.group(1));  }

慕容708150

是要截取两个字符之间的数据吗(?is)(?<={$LOAD_PATH}).*?(?={$TIMESTAMP} )
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java