type error = | Partial| BadPattern of string * int| BadUTF| BadUTFOffset| MatchLimit| DepthLimit| WorkspaceSize| InternalError of string
exception Regexp_or of string * errorand cflag = [ | `ALLOW_EMPTY_CLASS| `ALT_BSUX| `ALT_CIRCUMFLEX| `ALT_VERBNAMES| `ANCHORED| `AUTO_CALLOUT| `CASELESS| `DOLLAR_ENDONLY| `DOTALL| `DUPNAMES| `ENDANCHORED| `EXTENDED| `EXTENDED_MORE| `FIRSTLINE| `LITERAL| `MATCH_INVALID_UTF| `MATCH_UNSET_BACKREF| `MULTILINE| `NEVER_BACKSLASH_C| `NEVER_UCP| `NEVER_UTF| `NO_AUTO_CAPTURE| `NO_AUTO_POSSESS| `NO_DOTSTAR_ANCHOR| `NO_START_OPTIMIZE| `NO_UTF_CHECK| `UCP| `UNGREEDY| `USE_OFFSET_LIMIT| `UTF
]type rflag = [ | `ANCHORED| `COPY_MATCHED_SUBJECT| `DFA_RESTART| `DFA_SHORTEST| `ENDANCHORED| `NOTBOL| `NOTEMPTY| `NOTEMPTY_ATSTART| `NOTEOL| `NO_JIT| `NO_UTF_CHECK| `PARTIAL_HARD| `PARTIAL_SOFT
]val config_unicode : boolval config_newline : charval config_link_size : intval config_match_limit : intval config_depth_limit : intval config_stackrecurse : booltype firstcodeunit_info = [ | `ANCHORED| `Char of char| `Start_only
]val capturecount : regexp -> intval backrefmax : regexp -> intval nameentrysize : regexp -> intval names : regexp -> string arrayval lastcodeunit : regexp -> char optionval get_stringnumber : regexp -> string -> intval regexp_or :
?limit:int ->
?depth_limit:int ->
?iflags:icflag ->
?flags:cflag list ->
?chtables:chtables ->
string list ->
regexpval quote : string -> stringval get_substring_ofs : substrings -> int -> int * intval get_substrings : ?full_match:bool -> substrings -> string arrayval get_opt_substrings : ?full_match:bool -> substrings -> string option arraytype callout_data = {callout_number : int;substrings : substrings;start_match : int;current_position : int;capture_top : int;capture_last : int;pattern_position : int;next_item_length : int;
}val pcre2_match :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
string ->
int arrayval pcre2_dfa_match :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
?workspace:int array ->
string ->
int arrayval pmatch :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
string ->
boolval qreplace :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?templ:string ->
?callout:callout ->
string ->
stringval substitute_substrings :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
subst:(substrings -> string) ->
string ->
stringval substitute :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
subst:(string -> string) ->
string ->
stringval qreplace_first :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?templ:string ->
?callout:callout ->
string ->
stringval substitute_substrings_first :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
subst:(substrings -> string) ->
string ->
stringval substitute_first :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?callout:callout ->
subst:(string -> string) ->
string ->
stringval split :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?max:int ->
?callout:callout ->
string ->
string listval asplit :
?iflags:irflag ->
?flags:rflag list ->
?rex:regexp ->
?pat:string ->
?pos:int ->
?max:int ->
?callout:callout ->
string ->
string arraytype split_result = | Text of string| Delim of string| Group of int * string| NoGroup
val foreach_line : ?ic:in_channel -> (string -> unit) -> unitval foreach_file : string list -> (string -> in_channel -> unit) -> unitval unsafe_pcre2_match :
irflag ->
regexp ->
pos:int ->
subj_start:int ->
subj:string ->
int array ->
callout option ->
unitval make_ovector : regexp -> int * int arrayval unsafe_pcre2_dfa_match :
irflag ->
regexp ->
pos:int ->
subj_start:int ->
subj:string ->
int array ->
callout option ->
workspace:int array ->
unit