有一个字符串可能有一个或多个"变量"在里面。变量由{[a-zA-Z0-9 _ + - ] *}定义。寻找一种逃避大括号的方法,但最后我期待这个:
Map<String, String> variableMap = getVarilableMap();
wrapperTDO.getValueList()
.stream()
.forEach(a -> /* if a.getValue() has one or more variables, replace from the map variableMap, and update setValue() */ );
问题是:
答案 0 :(得分:1)
只需使用\
\{[a-zA-Z0-9_+-]*}
显然你也需要逃离\
,所以你最终会得到
\\{[a-zA-Z0-9_+-]*}
的示例
答案 1 :(得分:1)
如果您不希望大括号成为匹配的一部分,请使用正则表达式
(?<=\\{)[\\w+-]+(?=\\})
如果你想要大括号作为匹配的一部分,请使用正则表达式
\\{[\\w+-]+\\}
答案 2 :(得分:0)
逃脱{使用{。
要创建捕获组,请用()包围它。
查看Pattern和Matcher类。 Matcher将帮助您找到所有组。