A "regular expression", or "regexp" for short, is a pattern that denotes a (possibly infinite) set of strings.
(Info-goto-node "(elisp)Regular Expressions")
include Ecaml.Value.Subtype
We expose private value
for free identity conversions when the value is nested in
some covariant type, e.g. (symbols : Symbol.t list :> Value.t list)
rather than
List.map symbols ~f:Symbol.to_value
.
include sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
eq t1 t2 = Value.eq (to_value t1) (to_value t2)
, i.e. eq
checks whether the
Emacs values underlying t1
and t2
are physically equal. This is different than
phys_equal t1 t2
, because we don't always wrap eq
Emacs values in phys_equal
OCaml values. I.e. phys_equal t1 t2
implies eq t1 t2
, but not the converse.
val match_anything : t
val match_nothing : t
val to_pattern : t ‑> string
val any_pattern : string list ‑> t
val quote : string ‑> t
quote string
matches string
and nothing else.
(describe-function 'regexp-quote)
(Info-goto-node "(elisp)Regexp Functions")
val any_quote : string list ‑> t
any_quote strings
matches every string in strings
, and nothing else.
(describe-function 'regexp-opt)
(Info-goto-node "(elisp)Regexp Functions")
module Last_match : sig ... end
Supplying ~update_last_match:true
to a searching function causes Emacs to keep track
of the "last match", i.e. the start and end positions of the segments of text found
during the search. One can access parts of the last match via the Last_match
functions. subexp
is one based.
(Info-goto-node "(elisp)Match Data")
val match_ : ?start:int ‑> ?update_last_match:bool ‑> t ‑> Ecaml.Text.t ‑> int option
match_ t text
finds the first match of t
in text
, returns the index of the start
of the match.
(describe-function 'string-match)
(describe-function 'string-match-p)
(Info-goto-node "(elisp)Regexp Search")
val does_match : ?start:int ‑> ?update_last_match:bool ‑> t ‑> Ecaml.Text.t ‑> bool
does_match t text
is is_some (match_ t text)