sig
  module Str :
    sig
      type regexp = Str.regexp
      val regexp : string -> BatStr.Str.regexp
      val regexp_case_fold : string -> BatStr.Str.regexp
      val quote : string -> string
      val regexp_string : string -> BatStr.Str.regexp
      val regexp_string_case_fold : string -> BatStr.Str.regexp
      val string_match : BatStr.Str.regexp -> string -> int -> bool
      val string_partial_match : BatStr.Str.regexp -> string -> int -> bool
      val search :
        ?offset:int ->
        ?backwards:bool ->
        BatStr.Str.regexp -> string -> (int * int * string) BatEnum.t
      val search_forward : BatStr.Str.regexp -> string -> int -> int
      val search_backward : BatStr.Str.regexp -> string -> int -> int
      val matched_string : string -> string
      val match_beginning : unit -> int
      val match_end : unit -> int
      val matched_group : int -> string -> string
      val group_beginning : int -> int
      val group_end : int -> int
      val global_replace : BatStr.Str.regexp -> string -> string -> string
      val replace_first : BatStr.Str.regexp -> string -> string -> string
      val global_substitute :
        BatStr.Str.regexp -> (string -> string) -> string -> string
      val substitute_first :
        BatStr.Str.regexp -> (string -> string) -> string -> string
      val replace_matched : string -> string -> string
      val split : BatStr.Str.regexp -> string -> string list
      val bounded_split : BatStr.Str.regexp -> string -> int -> string list
      val split_delim : BatStr.Str.regexp -> string -> string list
      val bounded_split_delim :
        BatStr.Str.regexp -> string -> int -> string list
      type split_result = Str.split_result = Text of string | Delim of string
      val full_split :
        BatStr.Str.regexp -> string -> BatStr.Str.split_result list
      val bounded_full_split :
        BatStr.Str.regexp -> string -> int -> BatStr.Str.split_result list
      val string_before : string -> int -> string
      val string_after : string -> int -> string
      val first_chars : string -> int -> string
      val last_chars : string -> int -> string
    end
end