それは本当に簡単に思えますが、解決策が見つかりません。のような文字列から値を取得する必要があります{value1}{value2}.....{valueN}
。パターンを次のように作成しようとしました:(\\{(.*)\\})*
または(\\{(.*?)\\})*
. しかし、どちらの場合も値は 1 つしか得られません: 辺括弧内のすべてまたは最後の値です。(.*)
を意味のあるものに置き換える必要がありanything except }{
ます。
助けてくれてありがとう。
質問する
3839 次
4 に答える
2
私は行きます:
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
混乱の少ないものを選ぶことができるのに、正規表現と一致させるのは好きではありません。特に、同じコードに取り組む次の開発者にとっては。
于 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 に答える