8 func stringInSlice(str string, list []string) bool {
9 for _, v := range list {
17 func isGitRange(input string) bool {
18 r := regexp.MustCompile("[0-9a-f]{3,}\\.\\.[0-9a-f]{3,}")
19 return r.Match([]byte(input))
22 func isGitPath(input string) bool {
23 r := regexp.MustCompile("^[ab]/")
24 return r.Match([]byte(input))
27 func isEmail(input string) bool {
28 r := regexp.MustCompile("[a-zA-Z0-9._%+-]+@(?:[a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})")
29 result := r.FindSubmatch([]byte(input))
33 fileExtensions := []string{"png", "bmp", "jpeg"}
34 return !stringInSlice(string(result[1]), fileExtensions)
37 func isDate(input string) bool {
38 r := regexp.MustCompile("^[0-9]+/[0-9]+/[0-9]+")
39 return r.Match([]byte(input))
42 func isGitInstruction(input string) bool {
43 r := regexp.MustCompile("\\.{3,}")
44 return r.Match([]byte(input))
47 func replaceGitPath(input string) string {
48 r := regexp.MustCompile("^[ab]/(.*)")
50 temp = r.FindSubmatch([]byte(input))
51 return string(temp[1])
54 func isVersion(input string) bool {
55 r := regexp.MustCompile("[0-9x]\\.[0-9x]{1,2}(\\.[0-9x]{1,3})?")
56 return r.Match([]byte(input))
59 func containsInvalidString(input string) bool {
60 invalidStrings := []string{"(", ")", "and/or", "origin/", "{", "}", "<", ">", "$", "*"}
61 for _, s := range invalidStrings {
62 if strings.Contains(input, s) {