Java 如何在多个正则表达式键中获取值?
我正在尝试获取这些值用大括号括起来的,如下所示:Java 如何在多个正则表达式键中获取值?,java,regex,Java,Regex,我正在尝试获取这些值用大括号括起来的,如下所示: {{{{{{{{{{{{{{{{{{value1 here!}}}}}}}}}}}{value2 here!}}}}}}}}}{value3 here!}}}}}} 我希望您被选为一组: {value1 here!} {value2 here!} {value3 here!} 我正在网站上做这个表达式,并将它应用到我的Java项目中 Pattern p = Pattern.compile("\\\\{.*\\\\}"); Matcher
{{{{{{{{{{{{{{{{{{value1 here!}}}}}}}}}}}{value2 here!}}}}}}}}}{value3 here!}}}}}}
我希望您被选为一组:
{value1 here!} {value2 here!} {value3 here!}
我正在网站上做这个表达式,并将它应用到我的Java项目中
Pattern p = Pattern.compile("\\\\{.*\\\\}");
Matcher m = p.matcher("{{{{{{{{{{{{{{{{{{value1 here!}}}}}}}}}}}{value2 here!}}}}}}}}}{value3 here!}}}}}}");
if (m.find()){
String value1 = m.group(1);
String value2 = m.group(2);
String value3 = m.group(3);
}
如何解决此问题?您只需要在非大括号字符上匹配全局匹配:
\{[^{}]*\}
这是通过使用结构
[^…]
来实现的,该结构与所有字符相匹配,除了在[^
和]
分隔符中指定的字符之外。group(3)建议将match与group混淆。另外,您的*}
将尽可能匹配所有内容,直到最后一次}
。可能使用[^}]*}
。我的问题与上述关联无关。与我关联的一个地址是另一个路径‘(°o)/’