$ ocaml -I +pcre Objective Caml version 3.08.1 # #load "pcre.cma";; # let rex = Pcre.regexp "(:?([a-z]+)\\s+)*";; val rex : Pcre.regexp = # Pcre.extract_all ~rex "a b c d ee ff ";; (* Hangs, rapidly consuming memory. Killed with ^C ... *) Interrupted. # Gc.full_major ();; - : unit = () The Gc.full_major () doesn't recover any memory. On a more general point, how do I access all the strings captured by the inner brackets in a pattern like (:? (..) )* ? Rich. -- Richard Jones. http://www.annexia.org/ http://www.j-london.com/ Merjis Ltd. http://www.merjis.com/ - improving website return on investment MOD_CAML lets you run type-safe Objective CAML programs inside the Apache webserver. http://www.merjis.com/developers/mod_caml/