github.com/brianfoshee/docker@v1.6.0/registry/v2/regexp.go (about) 1 package v2 2 3 import "regexp" 4 5 // This file defines regular expressions for use in route definition. These 6 // are also defined in the registry code base. Until they are in a common, 7 // shared location, and exported, they must be repeated here. 8 9 // RepositoryNameComponentRegexp restricts registtry path components names to 10 // start with at least two letters or numbers, with following parts able to 11 // separated by one period, dash or underscore. 12 var RepositoryNameComponentRegexp = regexp.MustCompile(`[a-z0-9]+(?:[._-][a-z0-9]+)*`) 13 14 // RepositoryNameRegexp builds on RepositoryNameComponentRegexp to allow 1 to 15 // 5 path components, separated by a forward slash. 16 var RepositoryNameRegexp = regexp.MustCompile(`(?:` + RepositoryNameComponentRegexp.String() + `/){0,4}` + RepositoryNameComponentRegexp.String()) 17 18 // TagNameRegexp matches valid tag names. From docker/docker:graph/tags.go. 19 var TagNameRegexp = regexp.MustCompile(`[\w][\w.-]{0,127}`) 20 21 // DigestRegexp matches valid digest types. 22 var DigestRegexp = regexp.MustCompile(`[a-zA-Z0-9-_+.]+:[a-zA-Z0-9-_+.=]+`)