An atom, either a normal character, a character class, or a parenthesized regular expression, possibly followed by a quantifier.
piece :: = atom quantifier?
The following table shows valid pieces R and their set of strings L(R).
Valid pieces R for atoms S and non-negative integers n and m such that n<=m | Set of strings L(R) |
---|---|
S | All strings in L(S). |
S? | The empty string, and all strings in L(S). |
S* | All strings in L(S?) and all strings ST with S in L(S*) and T in L(S).
All concatenations of zero or more strings from L(S). |
S+ | All strings ST with S in L(S) and T in L(S*).
All concatenations of one or more strings from L(S). |
S{n, m} | All strings ST with S in L(S) and T in L(S{n-1, m-1}).
All sequences of at least n, and at most m, strings from L(S). |
S{n} | All strings in L(S{n,n}).
All sequences of exactly n strings from L(S). |
S{n,} | All strings in L(S{n}S*).
All sequences of exactly n strings from L(S). |
S{0, m} | All strings ST with S in L(S?) and T in L(S{0, m-1}).
All sequences of at most m, strings from L(S). |
S{0,0} | The set containing only the empty string. |
XML Schema Regular Expressions | XML Schema Regular Expressions Reference Chart | Atom | Data Type Facets | Quantifier