Re.PosixSourceReferences:
Example of how to use this module (to parse some IRC logs):
type msg =
{ time : string
; author : string
; content : string
}
let re = Core.compile (Re_posix.re "([^:].*:[^:]*:[^:]{2})<.([^>]+)> (.+)$")
(* parse a line *)
let match_line line =
try
let substrings = Core.exec re line in
let groups = Core.get_all substrings in
(* groups can be obtained directly by index within [substrings] *)
Some { time = groups.(1); author = groups.(2); content = groups.(3) }
with
| Not_found -> None (* regex didn't match *)
;;Errors that can be raised during the parsing of the regular expression
Parsing of a Posix extended regular expression
compile r is defined as Core.compile (Core.longest r)