入力に不明な回数表示される可能性のあるパターンを認識するJavaプログラムで使用する正規表現を作成しようとしています。私のばかげた小さな例は次のとおりです。
String patString = "(?:.*(h.t).*)*";
次に、matcher.group(i)をループして、「小屋は暑い」のような行から一致にアクセスしようとします。キャプチャグループは1つしかないため、最後の一致(この場合は「ホット」)のみが記憶されます。キャプチャグループが再利用されると、matcher.group(1)の内容が上書きされると思います。しかし、私が欲しいのは、 「小屋」と「ホット」の両方を含むある種の配列です。
これを行うためのより良い方法はありますか?FWIW、私が本当にやろうとしているのは、合図の単語の後にあるすべての(おそらくマルチワードの)適切な名詞を拾うことです。その間に他の単語や句読点があるかもしれません。したがって、「見た」が合図であり、「ボブとジョンスミス、および彼の妻マーガレットを見た」という場合は、{「ボブ」、「ジョンスミス」、「マーガレット」}が必要です。