package pacomb

  1. Overview
  2. Docs

A small module for efficient regular expressions.

type regexp =
  1. | Chr of char
  2. | Set of Charset.t
  3. | Seq of regexp list
  4. | Alt of regexp list
  5. | Opt of regexp
  6. | Str of regexp
  7. | Pls of regexp
  8. | Sav of regexp

Type of a regular expression.

type t = regexp

Short synonym of regexp.

val pp : Stdlib.Format.formatter -> regexp -> unit

pp ff re outputs the regexp re to the formatter ff.

val accepts_empty : regexp -> bool

accepts_empty re tells whether the empty input is valid for re.

val accepted_first_chars : regexp -> Charset.t

accepted_first_chars re returns the set of characters that are possible, valid first characters for matching re.

exception Regexp_error of Input.buffer * Input.idx

Exception raised when a regexp does not match. Note that the given buffer and position correspond to the first character that cannot be matched.

val from_string : string -> regexp

from_string s convert a string into a regexp following Str syntax.

val regexp : ?name:string -> regexp -> string Lex.t

create a terminal from a regexp. Returns the whole matched string

val regexp_grps : ?name:string -> ?grps:int list -> regexp -> string list Lex.t

create a terminal from a regexp. Returns the groups list, last to finish to be parsed is first in the result. The optional argument grps allows selection of the produced groups. As usual, 0 means the whole regexp and n > 0 the sub string corresponding to the nth opening parenthesis.

val blank_regexp : string -> Blank.t

create a blank function from a string representing a regexp