func frameRangeMatches(frange string) ([][]string, error) {
	for _, k := range defaultPadding.AllChars() {
		frange = strings.Replace(frange, k, "", -1)
	}

	var (
		matched bool
		match   []string
		rx      *regexp.Regexp
	)

	frange = strings.Replace(frange, " ", "", -1)

	// For each comma-sep component, we will parse a frame range
	parts := strings.Split(frange, ",")
	size := len(parts)
	matches := make([][]string, size, size)

	for i, part := range parts {

		matched = false

		// Build up frames for all comma-sep components
		for _, rx = range rangePatterns {
			if match = rx.FindStringSubmatch(part); match == nil {
				continue
			}
			matched = true
			matches[i] = match[1:]
		}

		// If any component of the comma-sep frame range fails to
		// parse, we bail out
		if !matched {
			err := fmt.Errorf("Failed to parse frame range: %s on part %q", frange, part)
			return nil, err
		}
	}

	return matches, nil
}
func frameRangeMatches(frange string) ([][]string, error) {
	for _, k := range defaultPadding.AllChars() {
		frange = strings.Replace(frange, k, "", -1)
	}

	var (
		matched bool
		match   []string
		rx      *regexp.Regexp
	)

	frange = strings.Replace(frange, " ", "", -1)

	// For each comma-sep component, we will parse a frame range
	parts := strings.Split(frange, ",")
	size := len(parts)
	matches := make([][]string, size, size)

	for i, part := range parts {

		matched = false

		// Build up frames for all comma-sep components
		for _, rx = range rangePatterns {
			if match = rx.FindStringSubmatch(part); match == nil {
				continue
			}
			matched = true
			matches[i] = match[1:]
		}

		// If any component of the comma-sep frame range fails to
		// parse, we bail out
		if !matched {
			err := fmt.Errorf("Failed to parse frame range: %s on part %q", frange, part)
			return nil, err
		}
	}

	return matches, nil
}
func frameRangeMatches ( frange string ) ( [ ] [ ] string , error ) { for _ , k := range defaultPadding . AllChars ( ) { frange = strings . Replace ( frange , k , " " , - 1 ) } var ( matched bool match [ ] string rx * regexp . Regexp ) frange = strings . Replace ( frange , " " , " " , - 1 ) // For each comma-sep component, we will parse a frame range parts := strings . Split ( frange , " " ) size := len ( parts ) matches := make ( [ ] [ ] string , size , size ) for i , part := range parts { matched = false // Build up frames for all comma-sep components for _ , rx = range rangePatterns { if match = rx . FindStringSubmatch ( part ) ; match == nil { continue } matched = true matches [ i ] = match [ 1 : ] } // If any component of the comma-sep frame range fails to // parse, we bail out if ! matched { err := fmt . Errorf ( " " , frange , part ) return nil , err } } return matches , nil }
// frameRangeMatches breaks down the string frame range
// into groups of range matches, for further processing.
frameRangeMatches breaks down the string frame range into groups of range matches for further processing .