package re
- Compilation and execution of a regular expression
- Substring extraction
- Marks
- High Level Operations
- String expressions (literal match)
- Basic operations on regular expressions
- String, line, word
- Match semantics
- Repeated match modifiers
- Groups (or submatches)
- Character sets
- Predefined character sets
- Case modifiers
- Internal debugging
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=262554309d645f4126a2a2e21e3a798d250293264fda34d6271243cc6c16e576
md5=20a0194ab9613f434fdfdf947f5b6d71
doc/re/Re/index.html
Module Re
Module Re: regular expressions commons
Compilation and execution of a regular expression
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 ]Substring extraction
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
Marks
val marked : substrings -> markid -> boolTell if a mark was matched.
val mark_set : substrings -> MarkSet.tHigh Level Operations
val 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 string(*Text between delimiters
*)| `Delim of substrings(*Delimiter
*)
]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.
String expressions (literal match)
val str : string -> tval char : char -> tBasic operations on regular expressions
val empty : tMatch nothing
val epsilon : tEmpty word
String, line, 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
Match semantics
Repeated match modifiers
Groups (or submatches)
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.
Character sets
val set : string -> tAny character of the string
val rg : char -> char -> tCharacter ranges
Predefined character sets
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 : tCase modifiers
Internal debugging
val print_re : Format.formatter -> re -> unit- Compilation and execution of a regular expression
- Substring extraction
- Marks
- High Level Operations
- String expressions (literal match)
- Basic operations on regular expressions
- String, line, word
- Match semantics
- Repeated match modifiers
- Groups (or submatches)
- Character sets
- Predefined character sets
- Case modifiers
- Internal debugging