`sig
type variable
type charset
type matcher =
Literal of string
| Anystring
| Lazystring
| Anychar
| Anystring_from of Xstr_match.charset
| Lazystring_from of Xstr_match.charset
| Anychar_from of Xstr_match.charset
| Nullstring
| Alternative of Xstr_match.matcher list list
| Optional of Xstr_match.matcher list
| Record of (Xstr_match.variable * Xstr_match.matcher list)
| Scanner of (string -> int)
val match_string : Xstr_match.matcher list -> string -> bool
type replacer =
ReplaceLiteral of string
| ReplaceVar of Xstr_match.variable
| ReplaceFunction of (unit -> string)
type rflag = Anchored | Limit of int
val replace_matched_substrings :
Xstr_match.matcher list ->
Xstr_match.replacer list ->
Xstr_match.rflag list -> string -> string * int
val var : string -> Xstr_match.variable
val var_matched : Xstr_match.variable -> bool
val string_of_var : Xstr_match.variable -> string
val found_string_of_var : Xstr_match.variable -> string
val mkset : string -> Xstr_match.charset
val mknegset : string -> Xstr_match.charset
end`