sig
exception BadPattern of string * int
exception BadUTF8
exception BadUTF8Offset
exception MatchLimit
exception InternalError of string
exception Backtrack
type icflag
and irflag
and cflag =
[ `ANCHORED
| `CASELESS
| `DOLLAR_ENDONLY
| `DOTALL
| `EXTENDED
| `EXTRA
| `MULTILINE
| `NO_AUTO_CAPTURE
| `NO_UTF8_CHECK
| `UNGREEDY
| `UTF8 ]
val cflags : Pcre.cflag list -> Pcre.icflag
val cflag_list : Pcre.icflag -> Pcre.cflag list
type rflag = [ `ANCHORED | `NOTBOL | `NOTEMPTY | `NOTEOL ]
val rflags : Pcre.rflag list -> Pcre.irflag
val rflag_list : Pcre.irflag -> Pcre.rflag list
val version : string
val config_utf8 : bool
val config_newline : char
val config_link_size : int
val config_match_limit : int
val config_stackrecurse : bool
type firstbyte_info = [ `ANCHORED | `Char of char | `Start_only ]
and study_stat = [ `Not_studied | `Optimal | `Studied ]
and regexp
external options : Pcre.regexp -> Pcre.icflag = "pcre_options_stub"
external size : Pcre.regexp -> int = "pcre_size_stub"
external studysize : Pcre.regexp -> int = "pcre_studysize_stub"
external capturecount : Pcre.regexp -> int = "pcre_capturecount_stub"
external backrefmax : Pcre.regexp -> int = "pcre_backrefmax_stub"
external namecount : Pcre.regexp -> int = "pcre_namecount_stub"
external nameentrysize : Pcre.regexp -> int = "pcre_nameentrysize_stub"
external firstbyte : Pcre.regexp -> Pcre.firstbyte_info
= "pcre_firstbyte_stub"
external firsttable : Pcre.regexp -> string option = "pcre_firsttable_stub"
external lastliteral : Pcre.regexp -> char option = "pcre_lastliteral_stub"
external study_stat : Pcre.regexp -> Pcre.study_stat
= "pcre_study_stat_stub" "noalloc"
val get_stringnumber : Pcre.regexp -> string -> int
external get_match_limit : Pcre.regexp -> int option
= "pcre_get_match_limit_stub"
type chtables
external maketables : unit -> Pcre.chtables = "pcre_maketables_stub"
val regexp :
?study:bool ->
?limit:int ->
?iflags:Pcre.icflag ->
?flags:Pcre.cflag list ->
?chtables:Pcre.chtables -> string -> Pcre.regexp
val quote : string -> string
type substrings
val get_subject : Pcre.substrings -> string
val num_of_subs : Pcre.substrings -> int
val get_substring : Pcre.substrings -> int -> string
val get_substring_ofs : Pcre.substrings -> int -> int * int
val get_substrings : ?full_match:bool -> Pcre.substrings -> string array
val get_named_substring :
Pcre.regexp -> string -> Pcre.substrings -> string
val get_named_substring_ofs :
Pcre.regexp -> string -> Pcre.substrings -> int * int
type callout = Pcre.substrings -> int -> int -> int -> int -> int -> unit
val pcre_exec :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string -> ?pos:int -> ?callout:Pcre.callout -> string -> int array
val exec :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?callout:Pcre.callout -> string -> Pcre.substrings
val exec_all :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?callout:Pcre.callout -> string -> Pcre.substrings array
val next_match :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?callout:Pcre.callout -> Pcre.substrings -> Pcre.substrings
val extract :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?full_match:bool -> ?callout:Pcre.callout -> string -> string array
val extract_all :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?full_match:bool -> ?callout:Pcre.callout -> string -> string array array
val pmatch :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string -> ?pos:int -> ?callout:Pcre.callout -> string -> bool
type substitution
val subst : string -> Pcre.substitution
val replace :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?itempl:Pcre.substitution ->
?templ:string -> ?callout:Pcre.callout -> string -> string
val qreplace :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?templ:string -> ?callout:Pcre.callout -> string -> string
val substitute_substrings :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?callout:Pcre.callout ->
subst:(Pcre.substrings -> string) -> string -> string
val substitute :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?callout:Pcre.callout -> subst:(string -> string) -> string -> string
val replace_first :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?itempl:Pcre.substitution ->
?templ:string -> ?callout:Pcre.callout -> string -> string
val qreplace_first :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?templ:string -> ?callout:Pcre.callout -> string -> string
val substitute_substrings_first :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?callout:Pcre.callout ->
subst:(Pcre.substrings -> string) -> string -> string
val substitute_first :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?callout:Pcre.callout -> subst:(string -> string) -> string -> string
val split :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?max:int -> ?callout:Pcre.callout -> string -> string list
val asplit :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int -> ?max:int -> ?callout:Pcre.callout -> string -> string array
type split_result =
Text of string
| Delim of string
| Group of int * string
| NoGroup
val full_split :
?iflags:Pcre.irflag ->
?flags:Pcre.rflag list ->
?rex:Pcre.regexp ->
?pat:string ->
?pos:int ->
?max:int -> ?callout:Pcre.callout -> string -> Pcre.split_result list
val foreach_line : ?ic:Pervasives.in_channel -> (string -> unit) -> unit
val foreach_file :
string list -> (string -> Pervasives.in_channel -> unit) -> unit
external unsafe_pcre_exec :
Pcre.irflag ->
Pcre.regexp ->
int -> string -> int -> int array -> Pcre.callout option -> unit
= "pcre_exec_stub_bc" "pcre_exec_stub"
val make_ovector : Pcre.regexp -> int * int array
end