code: public Map<String, String> getCellValuesAsMap(String regex, int groupIdx,
              List<ReplacePattern> replaces) {
          Map<String, String> map = new TreeMap<String, String>();
  
          Pattern pattern = Pattern.compile(regex);
          for (Entry<String, String> entry : getData().entrySet()) {
              Matcher matcher = pattern.matcher(entry.getKey());
  
              if (matcher.matches()) {
                  String value = value(entry.getValue(), replaces);
                  map.put(matcher.group(groupIdx), value);
              }
          }
          return map;
      }
docs: 正規表現に一致する列名のセルの値をMapとして取得します。
  
  @param regex
  列名に一致させる正規表現
  @param groupIdx
  列名の中から抜き出しMapのキーとするグループの番号
  @return 正規表現に一致する列名のセルの値
  @see Matcher#group(int)