Up

module UReStr

: sig

Module for a Str-like regular expression syntax. The difference can be summarised as follows.

#
module type Interface = sig
#
type regexp = URe.regexp

Theses functions are similar to Str.

#
val regexp : string -> regexp
#
val quote : string -> string
#
val regexp_string : string -> regexp
#
module type Type = sig
#
type text
#
type index
#
type compiled_regexp
#
module SubText : SubText.Type with type ur_text = text and type ur_index = index
#
val compile : regexp -> compiled_regexp

Compile regular expressions.

#
val regexp_match : ?sem:URe.match_semantics -> compiled_regexp -> text -> index -> SubText.t option array option

regexp_match ?sem r t i tries matching r and substrings of t beginning from i. If match successes, Some g is returned where g is the array containing the matched string of n-th group in the n-element. The matched string of the whole r is stored in the 0-th element. If matching fails, None is returned.

#
val string_match : compiled_regexp -> text -> index -> bool

string_match r t i tests whether r can match a substring of t beginning from i.

#
val search_forward : ?sem:URe.match_semantics -> compiled_regexp -> text -> index -> SubText.t option array option

search_forward ?sem r t i searches a substring of t matching r from i. The returned value is similar to URe.Type.regexp_match.

end
#
module Make : functor (Text : UnicodeString.Type) -> Type with type text = Text.t and type index = Text.index
end
#
module Configure : functor (Config : ConfigInt.Type) -> Interface
end