私が見つけたSOのサンプルコードと検索中の文字列を使用して、航空機クラスとその座席のグループをキャプチャしようとしています。入力ファイルには、J28W36Y156 という形式の航空機構成が含まれています。これは、28 席の J (ビジネス) クラス、36 席の W (プレミアム エコノミー席)、および 156 席の Y (エコノミー席) を意味します。
私が使用しているJavaコードは次のとおりです。
    s = "J12W28Y156";
    patternStr = "(\\w\\d+)+";
    p = Pattern.compile(patternStr);
    m = p.matcher(s);
    if (m.find()) {
        int count = m.groupCount();
        System.out.println("group count is "+count);
        for(int i=1;i<=count;i++){
            System.out.println(m.group(i));
        }
    }
正規表現は、LAST クラスの座席構成のみをキャプチャするようです。Y156. この正規表現を取得して、複数のグループのすべてのクラス/座席の組み合わせを取得するにはどうすればよいですか? これは、指定する必要がある「貪欲な」一致と関係がありますか? 出力を配列のようなものにしたいと思います。
{J12、W28、Y156}
みんなありがとう。