我有一个类似的字符串;
Something{this i want1}.{this i want2}oyherthings[{this also i want1}.{this also i want2}]morethings
我想要输出如下。
this i want1
this i want2
this also i want
我可以使用java的substring函数。但我想知道是否可以使用正则表达式完成。 我尝试了一些正则表达式组合但无法使其正常工作。 我试过一些正则表达式。
Pattern matchString = Pattern.compile("{(.*?}");
Matcher matcher = "
Something{this i want1}.{this i want2}oyherthings[{this also i want}]morethings";
对此有何帮助?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用lookaround assertions。
String s = "Something{this i want1}.{this i want2}oyherthings[{this also i want}]morethings";
Pattern regex = Pattern.compile("(?<=\\{)[^{}]*(?=\\})");
Matcher matcher = regex.matcher(s);
while(matcher.find()){
System.out.println(matcher.group(0));
}
<强>输出:强>
this i want1
this i want2
this also i want
答案 2 :(得分:0)