ReModule Re: regular expressions commons
Compile a regular expression into an executable version that can be used to match strings, e.g. with exec.
val exec : ?pos:int -> ?len:int -> re -> string -> substringsexec re str matches str against the compiled expression re, and returns the matched groups if any.
val execp : ?pos:int -> ?len:int -> re -> string -> boolSimilar to exec, but returns true if the expression matches, and false if it doesn't
val exec_partial :
?pos:int ->
?len:int ->
re ->
string ->
[ `Full | `Partial | `Mismatch ]val get : substrings -> int -> stringRaise Not_found if the group did not match
val get_ofs : substrings -> int -> int * intRaise Not_found if the group did not match
val get_all : substrings -> string arrayReturn the empty string for each group which did not match
val get_all_ofs : substrings -> (int * int) arrayReturn (-1,-1) for each group which did not match
val test : substrings -> int -> boolTest whether a group matched
val marked : substrings -> markid -> boolTell if a mark was matched.
val mark_set : substrings -> MarkSet.tval all : ?pos:int -> ?len:int -> re -> string -> substrings listRepeatedly calls exec on the given string, starting at given position and length.
val all_gen : ?pos:int -> ?len:int -> re -> string -> substrings genSame as all but returns a generator
val matches : ?pos:int -> ?len:int -> re -> string -> string listSame as all, but extracts the matched substring rather than returning the whole group. This basically iterates over matched strings
Same as matches, but returns a generator.
val split : ?pos:int -> ?len:int -> re -> string -> string listsplit re s splits s into chunks separated by re. It yields the chunks themselves, not the separator. For instance this can be used with a whitespace-matching re such as "[\t ]+".
type split_token = [ | `Text of stringText between delimiters
*)| `Delim of substringsDelimiter
*) ]val split_full : ?pos:int -> ?len:int -> re -> string -> split_token listval split_full_gen : ?pos:int -> ?len:int -> re -> string -> split_token genval replace :
?pos:int ->
?len:int ->
?all:bool ->
re ->
f:(substrings -> string) ->
string ->
stringreplace ~all re ~f s iterates on s, and replaces every occurrence of re with f substring where substring is the current match. If all = false, then only the first occurrence of re is replaced.
val replace_string :
?pos:int ->
?len:int ->
?all:bool ->
re ->
by:string ->
string ->
stringreplace_string ~all re ~by s iterates on s, and replaces every occurrence of re with by. If all = false, then only the first occurrence of re is replaced.
val str : string -> tval char : char -> tval empty : tMatch nothing
val epsilon : tEmpty word
val bol : tBeginning of line
val eol : tEnd of line
val bow : tBeginning of word
val eow : tEnd of word
val bos : tBeginning of string
val eos : tEnd of string
val leol : tLast end of line or end of string
val start : tInitial position
val stop : tFinal position
val not_boundary : tNot at a word boundary
when matching against nest e, only the group matching in the last match of e will be considered as matching
Mark a regexp. the markid can then be used to know if this regexp was used.
val set : string -> tAny character of the string
val rg : char -> char -> tCharacter ranges
val any : tAny character
val notnl : tAny character but a newline
val alnum : tval wordc : tval alpha : tval ascii : tval blank : tval cntrl : tval digit : tval graph : tval lower : tval print : tval punct : tval space : tval upper : tval xdigit : tval print_re : Format.formatter -> re -> unit