code: def match_column_labels(self, match_value_or_fct, levels=None, max_matches=0, empty_res=1):
          
          allmatches = self.parent._find_column_label_positions(match_value_or_fct, levels)
          # only keep matches which are within this region
          matches = [m for m in allmatches if m in self.col_ilocs]
          if max_matches and len(matches) > max_matches:
              matches = matches[:max_matches]
  
          if matches:
              return RegionFormatter(self.parent, self.row_ilocs, pd.Int64Index(matches))
          elif empty_res:
              return self.empty_frame()
docs: Check the original DataFrame's column labels to find a subset of the current region
          :param match_value_or_fct: value or function(hdr_value) which returns True for match
          :param levels: [None, scalar, indexer]
          :param max_matches: maximum number of columns to return
          :return: