code: func instanceIDFromProviderID(providerID string) (instanceID string, err error) {
  	// If Instances.InstanceID or cloudprovider.GetInstanceProviderID is changed, the regexp should be changed too.
  	var providerIDRegexp = regexp.MustCompile(`^` + ProviderName + `:///([^/]+)$`)
  
  	matches := providerIDRegexp.FindStringSubmatch(providerID)
  	if len(matches) != 2 {
  		return "", fmt.Errorf("ProviderID \"%s\" didn't match expected format \"openstack:///InstanceID\"", providerID)
  	}
  	return matches[1], nil
  }
docs: // instanceIDFromProviderID splits a provider's id and return instanceID.
  // A providerID is build out of '${ProviderName}:///${instance-id}'which contains ':///'.
  // See cloudprovider.GetInstanceProviderID and Instances.InstanceID.