Exposes a list of transients regexes. resolved transients not matching the regexes will be removed.
        _expose_transients_regex -> _transient_change_detect -> _transient_change_diff -> _update_transients
        :param regexes: the list of regex to filter the transient to add.
               Note: regexes = [] remove all registered regexes.
        :param regex_set: the list of regex already existing
        :return: the list of transients exposed

def expose_transients_regex(self, regexes, *class_build_args, **class_build_kwargs):
        """
        Exposes a list of transients regexes. resolved transients not matching the regexes will be removed.
        _expose_transients_regex -> _transient_change_detect -> _transient_change_diff -> _update_transients
        :param regexes: the list of regex to filter the transient to add.
               Note: regexes = [] remove all registered regexes.
        :param regex_set: the list of regex already existing
        :return: the list of transients exposed
        """
        # Important : no effect if names is empty list. only return empty diff. functional style.

        # look through the new service names received by reconfigure, and add
        # those services which are not in the existing service args
        for tst_regex in [r for r in regexes if not r in self.transients_args]:
            self.transients_args.add(tst_regex)
            logging.info('[{name}] Exposing {desc} regex : {regex}'.format(name=__name__, desc=self.transients_desc, regex=tst_regex))
            # TODO : check here for bugs & add test : what if we add multiple regexes ? wont we miss some add_names ?

        # look through the current service args and delete those values which
        # will not be valid when the args are replaced with the new ones. run on
        # a copy so that we will remove from the original without crashing
        for tst_regex in [r for r in self.transients_args if not r in regexes]:
            logging.info('[{name}] Withholding {desc} regex : {regex}'.format(name=__name__, desc=self.transients_desc, regex=tst_regex))
            self.transients_args.remove(tst_regex)

        return self.transient_change_detect(
            *class_build_args,
            **class_build_kwargs
         )