看起来很简单,但我找不到解决方案。我需要从像{value1}{value2}.....{valueN}
. 我试图将模式创建为:(\\{(.*)\\})*
或(\\{(.*?)\\})*
。但在这两种情况下,我只得到一个值:边缘括号或最后一个值之间的所有内容。我需要(.*)
用有意义的东西替换anything except }{
。
提前感谢您的帮助。
问问题
3839 次
4 回答
2
I would go for:
String str = "{value1}{value2}...{valueN}";
str = str.subString(1,str.length-2); // to crop the first and last bracket
String[] results = str.split("\\}\\{"); // to get an array of results
I don't like matching stuff with regex when you can go for something less confusing. Especially for the next dev who's gonna work on the same code.
于 2013-07-25T12:30:58.547 回答
1
试试这个字符串模式:
"\\{([^}]+)\\}"
于 2013-07-25T12:28:03.210 回答
0
您应该使用不贪婪的运算符 ( ?
),以便.+
尽可能少地捕获...
{.+?}
于 2013-07-25T12:22:56.393 回答
0
您应该使用更具体的匹配条件,比如可能不是正确的花括号而不是匹配所有...
{[^}]+}
于 2013-07-25T12:24:01.663 回答