|
Text.Regex.XMLSchema.String.Regex | Portability | portable | Stability | stable | Maintainer | Uwe Schmidt <uwe@fh-wedel.de> |
|
|
|
Description |
W3C XML Schema Regular Expression Matcher
Grammar can be found under http://www.w3.org/TR/xmlschema11-2/#regexs
|
|
Synopsis |
|
|
|
Documentation |
|
|
|
|
|
|
construct the r.e. for the empty set.
An (error-) message may be attached
|
|
|
construct the r.e. for the set containing the empty word
|
|
|
construct the r.e. for a set of chars
|
|
|
construct an r.e. for a single char set
|
|
|
construct an r.e. for an intervall of chars
|
|
|
mkSym generaized for strings
|
|
|
construct an r.e. for the set of all Unicode chars
|
|
|
construct r.e. for r*
|
|
|
construct an r.e. for the set of all Unicode words
|
|
|
construct the r.e for r1|r2
|
|
|
construct the r.e. for r1{|}r2 (r1 orElse r2).
This represents the same r.e. as r1|r2, but when
collecting the results of subexpressions in (...) and r1 succeeds, the
subexpressions of r2 are discarded, so r1 matches are prioritized
example
splitSubex "({1}x)|({2}.)" "x" = ([("1","x"),("2","x")], "")
splitSubex "({1}x){|}({2}.)" "x" = ([("1","x")], "")
|
|
|
Construct the sequence r.e. r1.r2
|
|
|
mkSeq extened to lists
|
|
|
Construct repetition r{i,}
|
|
|
Construct range r{i,j}
|
|
|
Construct option r?
|
|
|
Construct difference r.e.: r1 {\} r2
example
match "[a-z]+{\\}bush" "obama" = True
match "[a-z]+{\\}bush" "clinton" = True
match "[a-z]+{\\}bush" "bush" = False -- not important any more
|
|
|
Construct r.e. for intersection: r1 {&} r2
example
match ".*a.*{&}.*b.*" "-a-b-" = True
match ".*a.*{&}.*b.*" "-b-a-" = True
match ".*a.*{&}.*b.*" "-a-a-" = False
match ".*a.*{&}.*b.*" "---b-" = False
|
|
|
Construct r.e. for exclusive or: r1 {^} r2
example
match "[a-c]+{^}[c-d]+" "abc" = True
match "[a-c]+{^}[c-d]+" "acdc" = False
match "[a-c]+{^}[c-d]+" "ccc" = False
match "[a-c]+{^}[c-d]+" "cdc" = True
|
|
|
|
|
Construct the Complement of an r.e.: whole set of words - r
|
|
|
Construct a labeled subexpression: ({label}r)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FIRST for regular expressions
this is only an approximation, the real set of char may be smaller,
when the expression contains intersection, set difference or exor operators
|
|
|
|
|
|
|
This function wraps the whole regex in a subexpression before starting
the parse. This is done for getting acces to
the whole parsed string. Therfore we need one special label, this label
is the Nothing value, all explicit labels are Just labels.
|
|
|
The main scanner function
|
|
|
|
|
speedup version for splitWithRegex'
This function checks whether the input starts with a char from FIRST re.
If this is not the case, the split fails. The FIRST set can be computed once
for a whole tokenizer and reused by every call of split
|
|
Produced by Haddock version 2.6.1 |