diff --git a/selector.go b/selector.go index c8f0b98..cc6e059 100644 --- a/selector.go +++ b/selector.go @@ -510,12 +510,13 @@ func parseNthPseudo(cmd string) (PseudoClass, error) { oddOrEven = 0 } if oddOrEven > -1 { + fmt.Println("bruh it stopped") return func(n *html.Node) bool { return n.Type == html.ElementNode && countNth(n)%2 == oddOrEven }, nil } // Check against '3n+4' pattern - r := regexp.MustCompile(`([0-9]+)n[ ]?\+[ ]?([0-9])`) + r := regexp.MustCompile(`([0-9]+)n[ ]?\+[ ]?([1-9][0-9]{0,2}|1000)$`) subMatch := r.FindAllStringSubmatch(number, -1) if len(subMatch) == 1 && len(subMatch[0]) == 3 { cycle, _ := strconv.Atoi(subMatch[0][1]) @@ -526,7 +527,7 @@ func parseNthPseudo(cmd string) (PseudoClass, error) { } // check against '-n+2' pattern - r = regexp.MustCompile(`^-n[ ]?\+[ ]?([0-9])`) + r = regexp.MustCompile(`^-n[ ]?\+[ ]?([1-9][0-9]{0,2}|1000)$`) subMatch = r.FindAllStringSubmatch(number, -1) if len(subMatch) == 1 && len(subMatch[0]) == 2 { offset, _ := strconv.Atoi(subMatch[0][1]) @@ -536,7 +537,7 @@ func parseNthPseudo(cmd string) (PseudoClass, error) { } // check against 'n+2' pattern - r = regexp.MustCompile(`^n[ ]?\+[ ]?([0-9])`) + r = regexp.MustCompile(`^n[ ]?\+[ ]?([1-9][0-9]{0,2}|1000)$`) subMatch = r.FindAllStringSubmatch(number, -1) if len(subMatch) == 1 && len(subMatch[0]) == 2 { offset, _ := strconv.Atoi(subMatch[0][1])