code: def get_srv_service_filters(self, expr):
          
          if expr == "*":
              return [filter_any]
  
          match = re.search(r"^([%s]+):(.*)" % self.service_flags, expr)
          if match is None:
              return [filter_service_by_name(expr)]
  
          flags, expr = match.groups()
          if "g" in flags:
              return [filter_service_by_servicegroup_name(expr)]
          if "r" in flags:
              return [filter_service_by_regex_name(expr)]
          if "l" in flags:
              return [filter_service_by_bp_rule_label(expr)]
  
          return [filter_none]
docs: Generates service filter list corresponding to the expression ::
  
          * '*' => any
          * 'g' => servicegroup filter
          * 'r' => service regex name filter
          * 'l' => service bp rule label filter
          * 't' => tag  filter
          * '' => none filter
          * No flag match => service name filter
  
          :param expr: expression to parse
          :type expr: str
          :return: filter list
          :rtype: list