这适用于 ${VAR}:
Pattern.compile("\\$\\{(.+?)\\}");
但我正在努力格式化它,以便它也接受 $VAR 到下一个单词边界(\b)。因为文字可以
$FIRSTVAR.${SECONDVAR}LITERAL
然后我想同时检测 $FIRSTVAR 和 ${SECONDVAR} ,如果第一个是“X”,第二个是“Y”,我想将它替换为X.YLITERAL。该模板同时使用 $VAR 和 ${VAR} 样式,如果 var 后跟一个非单词字符,则更喜欢前者,但如果是后者,则使用后者(就像我上面给出的示例一样)。
我试过
Pattern.compile("\\$(\\{|)(.+?)(\\}|\b})");
但这与FIRSTVAR.${SECONDVAR作为 group(2) 匹配。所以不好。提前致谢