为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕神8447489 2022-10-01 11:07:37
变量用法:{$变量名}如:{$LOAD_PATH}/61347d650c1a451e98b0fe8389b25f3c/{$TIMESTAMP}应该识别出包含两个变量,分别是LOAD_PATH和TIMESTAMP。问题补充:补充说明:这里要通过正则表达式识别出包含的变量名称?
查看完整描述

3 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

  1. String str = "{$LOAD_PATH}/61347d650c1a451e98b0fe8389b25f3c/{$TIMESTAMP}";  

  2. Pattern pattern = Pattern.compile("\\{\\$(\\w+)\\}");  

  3.   

  4. Matcher matcher = pattern.matcher(str);  

  5. while (matcher.find()) {  

  6.     System.out.println(matcher.group(1));  

  7. }  

应该还要考虑到{}的情况,否则就会把路径里面有$的给解析了


查看完整回答
反对 回复 2022-10-06
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

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

查看完整回答
反对 回复 2022-10-06
?
慕容708150

TA贡献1831条经验 获得超4个赞

是要截取两个字符之间的数据吗(?is)(?<={$LOAD_PATH}).*?(?={$TIMESTAMP} )

查看完整回答
反对 回复 2022-10-06
  • 3 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信