Enum regex_syntax::Expr
[−]
[src]
pub enum Expr {
Empty,
Literal {
chars: Vec<char>,
casei: bool,
},
AnyChar,
AnyCharNoNL,
Class(CharClass),
StartLine,
EndLine,
StartText,
EndText,
WordBoundary,
NotWordBoundary,
Group {
e: Box<Expr>,
i: Option<usize>,
name: Option<String>,
},
Repeat {
e: Box<Expr>,
r: Repeater,
greedy: bool,
},
Concat(Vec<Expr>),
Alternate(Vec<Expr>),
}A regular expression abstract syntax tree.
An Expr represents the abstract syntax of a regular expression.
Variants
Empty | An empty regex (which never matches any text). | ||||||
Literal | A sequence of one or more literal characters to be matched. Fields
| ||||||
AnyChar | Match any character, excluding new line. | ||||||
AnyCharNoNL | Match any character. | ||||||
Class | A character class. | ||||||
StartLine | Match the start of a line or beginning of input. | ||||||
EndLine | Match the end of a line or end of input. | ||||||
StartText | Match the beginning of input. | ||||||
EndText | Match the end of input. | ||||||
WordBoundary | Match a word boundary (word character on one side and a non-word character on the other). | ||||||
NotWordBoundary | Match a position that is not a word boundary (word or non-word characters on both sides). | ||||||
Group | A group, possibly non-capturing. Fields
| ||||||
Repeat | A repeat operator ( Fields
| ||||||
Concat | A concatenation of expressions. Must be matched one after the other. N.B. A concat expression can only appear at the top-level or immediately inside a group expression. | ||||||
Alternate | An alternation of expressions. Only one must match. N.B. An alternate expression can only appear at the top-level or immediately inside a group expression. |
Methods
impl Expr
Trait Implementations
impl Display for Expr
This implementation of Display will write a regular expression from the
syntax tree. It does not write the original string parsed.