let extract_groups (r:Str.regexp) (s:string) : string list = match match_whole r s with | None -> raise Not_found (* To do: It was "[]". This may break things, and should be considered experimental --L. *) | Some (a,s,g,b) -> g