pub enum Expr {
Empty,
Concat(Vec<Expr>),
Alt(Vec<Expr>),
Quant(Box<Expr>, u32, Option<u32>),
Class(ClassSet),
Anchor(AnchorKind),
}Expand description
Parsed XSD regex. Classes are flattened to [ClassSet] at
parse time so the NFA builder doesn’t need to know about
\p{...}, \d, class subtraction, etc.
Variants§
Empty
Matches the empty string.
Concat(Vec<Expr>)
Concatenation of subexpressions, evaluated left-to-right.
Alt(Vec<Expr>)
Alternation — match any one branch. XSD §F has no preference between branches (no backtracking semantics to preserve), but the NFA emits them in source order.
Quant(Box<Expr>, u32, Option<u32>)
Counted repetition. max == None means unbounded.
Class(ClassSet)
Single-codepoint match against a character class. Literal
chars and . lower to single-range / universe classes.
Anchor(AnchorKind)
Position anchor (XPath 2.0 only; XSD §F has none). Matches
the empty string when the simulator is at the asserted
position. The m-flag (multiline) variants assert on line
boundaries; without m they assert on input boundaries.