sig
  type result = (int * string * string list * int) option
  val mkregexp :
    ?strict:bool -> string list -> string list -> string list -> Str.regexp
  val matched_groups : int -> string -> string list
  val match_frame :
    Str.regexp -> string -> int * int -> StrExtra.Extra.result
  val match_whole : Str.regexp -> string -> StrExtra.Extra.result
  val match_string : string -> string -> StrExtra.Extra.result
  val extract_groups : Str.regexp -> string -> string list
  module Bool :
    sig
      val match_frame : Str.regexp -> string -> int * int -> bool
      val match_whole : Str.regexp -> string -> bool
      val match_string : string -> string -> bool
    end
  val minus : string -> string -> string
  val grep : string -> string list -> string list
  val wellFormedName : ?allow_dash:bool -> string -> bool
end