ブラケット(括弧を含む)内の1つの単語に一致させたい場合は、下にあるRegex
が動作していますが、ここでJavaでキャプチャされたすべてのグループを取得する
は私のコードです:
String text = "This_is_a_[sample]_text[notworking]";
Matcher matcher = Pattern.compile("\\[([a-zA-Z_]+)\\]").matcher(text);
if (matcher.find()) {
for (int i = 0; i <= matcher.groupCount(); i++) {
System.out.println("------------------------------------");
System.out.println("Group " + i + ": " + matcher.group(i));
}
また、私はRegex Planetでそれをテストしてみたし、動作しているようです。
------------------------------------
Group 0: [sample]
------------------------------------
Group 1: sample
------------------------------------
Group 2: [notworking]
------------------------------------
Group 3: notworking
をしかし、それはちょうどそれを返しています:
それは4つのグループを返す必要があります
------------------------------------
Group 0: [sample]
------------------------------------
Group 1: sample
何が悪いのでしょうか?
が必要これを行う方法? – developer033
@developer033あなたは 'sample'と' [sample] 'を使いますか? – rock321987
私は 'notworking'、' [notworking] '、' sample'と '[sample]'を使いたいです。だから私は捕獲されたすべての集団を集め、今私を理解したいのですか? – developer033