regexp.go 947 B

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