(* $Id$ * ---------------------------------------------------------------------- * *) (* This module is a version of Str with a thread-safe interface *) type regexp = Str.regexp;; type split_result = Str.split_result = Text of string | Delim of string;; type result;; (* The type of matching results *) val regexp: string -> regexp val regexp_case_fold: string -> regexp val quote: string -> string val regexp_string: string -> regexp val regexp_string_case_fold: string -> regexp val string_match: ?groups:int -> pat:regexp -> string -> pos:int -> result option val search_forward: ?groups:int -> pat:regexp -> string -> pos:int -> (int * result) val search_backward: ?groups:int -> pat:regexp -> string -> pos:int -> (int * result) val string_partial_match: ?groups:int -> pat:regexp -> string -> pos:int -> result option (* The ~groups option specifies how many groups will be stored into * 'result'. Default: 9 *) val matched_string : result -> string -> string val match_beginning : result -> int val match_end : result -> int val matched_group : result -> int -> string -> string val group_beginning : result -> int -> int val group_end : result -> int -> int val global_replace: pat:regexp -> templ:string -> string -> string val replace_first: pat:regexp -> templ:string -> string -> string val global_substitute: ?groups:int -> pat:regexp -> subst:(result -> string -> string) -> string -> string val substitute_first: ?groups:int -> pat:regexp -> subst:(result -> string -> string) -> string -> string (* replace_matched: not available *) val split: sep:regexp -> string -> string list val bounded_split: sep:regexp -> string -> max:int -> string list val split_delim: sep:regexp -> string -> string list val bounded_split_delim: sep:regexp -> string -> max:int -> string list val full_split: sep:regexp -> string -> split_result list val bounded_full_split: sep:regexp -> string -> max:int -> split_result list val string_before: string -> int -> string val string_after: string -> int -> string val first_chars: string -> len:int -> string val last_chars: string -> len:int -> string (* Private: *) val init_mt : (unit -> unit) -> (unit -> unit) -> unit (* ====================================================================== * History: * * $Log$ * Revision 1.1 2000/11/17 09:57:28 lpadovan * Initial revision * * Revision 1.2 2000/06/25 21:15:48 gerd * Checked thread-safety. * * Revision 1.1 2000/06/25 20:48:19 gerd * Initial revision. * * *)