// parseParse parses a qingstor 'url'
parseParse parses a qingstor 'url'
// parseParse parses a qingstor ' url '
func qsParsePath(path string) (bucket, key string, err error) {
	parts := matcher.FindStringSubmatch(path)
	if parts == nil {
		err = errors.Errorf("Couldn't parse bucket out of qingstor path %q", path)
	} else {
		bucket, key = parts[1], parts[2]
		key = strings.Trim(key, "/")
	}
	return
}
func qsParsePath ( path string ) ( bucket , key string , err error ) { parts := matcher . FindStringSubmatch ( path ) if parts == nil { err = errors . Errorf ( " " , path ) } else { bucket , key = parts [ 1 ] , parts [ 2 ] key = strings . Trim ( key , " " ) } return }
parseParse parses a qingstor 'url'
parseParse parses a qingstor ' url '
// Pattern to match a qingstor path