code: func NewCatalogServiceQuery(s string) (*CatalogServiceQuery, error) {
  	if !CatalogServiceQueryRe.MatchString(s) {
  		return nil, fmt.Errorf("catalog.service: invalid format: %q", s)
  	}
  
  	m := regexpMatch(CatalogServiceQueryRe, s)
  	return &CatalogServiceQuery{
  		stopCh: make(chan struct{}, 1),
  		dc:     m["dc"],
  		name:   m["name"],
  		near:   m["near"],
  		tag:    m["tag"],
  	}, nil
  }
docs: // NewCatalogServiceQuery parses a string into a CatalogServiceQuery.