Function: hypb:string-count-matches
hypb:string-count-matches is a byte-compiled function defined in
hypb.el.
Signature
(hypb:string-count-matches REGEXP STR &optional START END)
Documentation
Count occurrences of REGEXP in STR, limited to optional START and END positions.
START is inclusive and indexed from 0; END is exclusive.
This function starts looking for the next match from the end of the previous match. Hence, it ignores matches that overlap a previously found match.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hypb.el
(defun hypb:string-count-matches (regexp str &optional start end)
"Count occurrences of REGEXP in STR, limited to optional START and END positions.
START is inclusive and indexed from 0; END is exclusive.
This function starts looking for the next match from the end of the
previous match. Hence, it ignores matches that overlap a previously
found match."
(let ((str-len (length str))
(count 0)
substr)
(when (and start (or (>= start str-len) (< start 0)))
(error "(hypb:string-count-matches): 'start' (%d) must be >= 0 and < str length (%d)"
start str-len))
(when (and end (or (> end str-len) (< end 0)))
(error "(hypb:string-count-matches): 'end' (%d) must be >= 0 and <= str length (%d)"
end str-len))
(setq start (or start 0)
end (or end str-len)
substr (substring str start end)
end (- end start)
start 0)
(while (and (< start str-len)
(string-match regexp substr start))
(setq count (1+ count)
start (match-end 0)))
count))