code: func splitProviderID(providerID string) (project, zone, instance string, err error) {
  	matches := providerIDRE.FindStringSubmatch(providerID)
  	if len(matches) != 4 {
  		return "", "", "", errors.New("error splitting providerID")
  	}
  	return matches[1], matches[2], matches[3], nil
  }
docs: // splitProviderID splits a provider's id into core components.
  // A providerID is build out of '${ProviderName}://${project-id}/${zone}/${instance-name}'
  // See cloudprovider.GetInstanceProviderID.