(versionString string, regex *regexp.Regexp, length int)
| 183 | } |
| 184 | |
| 185 | func ParseVersion(versionString string, regex *regexp.Regexp, length int) ([]int, error) { |
| 186 | matches := regex.FindAllStringSubmatch(versionString, -1) |
| 187 | if len(matches) != 1 { |
| 188 | return nil, fmt.Errorf("version string \"%v\" doesn't match expected regular expression: \"%v\"", versionString, regex.String()) |
| 189 | } |
| 190 | versionStringArray := matches[0][1:] |
| 191 | versionArray := make([]int, length) |
| 192 | for index, versionStr := range versionStringArray { |
| 193 | version, err := strconv.Atoi(versionStr) |
| 194 | if err != nil { |
| 195 | return nil, fmt.Errorf("error while parsing \"%v\" in \"%v\"", versionStr, versionString) |
| 196 | } |
| 197 | versionArray[index] = version |
| 198 | } |
| 199 | return versionArray, nil |
| 200 | } |
searching dependent graphs…