1

私は入力文字列を持っています

String str = "IN Param - {Parameter|String}{Parameter|String}  Out Param - {Parameter   Label|String}{Parameter Label2|String}";

取れるはず

{パラメータ|文字列}{パラメータ|文字列}

In Param から

{パラメータ ラベル|文字列}{パラメータ ラベル2|文字列}

アウト パラメータから。

In Param では、Parameter と string を取得できるはずです。正規表現マッチングJavaでどのように可能ですか?

4

2 に答える 2

3

グループで可能

したがって、正規表現は次のとおりです。

"\\{(.*?)\\|(.*?)\\}"

Group1キャプチャ パラメータ

Group2キャプチャ文字列

この正規表現では、で始まり、で終わる{(.*?)|n 文字に一致し、and ..を除いて group1 に結果を格納します..これは同様に発生しますが、結果を group2..{|{||(.*?)}

ここで試してみてください

于 2012-10-24T07:32:33.523 に答える
0
Pattern p = Pattern.compile("\\{([^|]+)\\|([^}]+)\\}");
Matcher m = p.matcher(str);
while (m.find()) {
    String label = m.group(1);
    String value = m.group(2);
    // do what you need with them
}
于 2012-10-24T07:33:37.827 に答える