Enum regex_syntax::Expr [−][src]
pub enum Expr {}Show 21 variants
Empty, Literal { chars: Vec<char>, casei: bool, }, LiteralBytes { bytes: Vec<u8>, casei: bool, }, AnyChar, AnyCharNoNL, AnyByte, AnyByteNoNL, Class(CharClass), ClassBytes(ByteClass), StartLine, EndLine, StartText, EndText, WordBoundary, NotWordBoundary, WordBoundaryAscii, NotWordBoundaryAscii, Group { e: Box<Expr>, i: Option<usize>, name: Option<String>, }, Repeat { e: Box<Expr>, r: Repeater, greedy: bool, }, Concat(Vec<Expr>), Alternate(Vec<Expr>),
Expand description
A regular expression abstract syntax tree.
An Expr
represents the abstract syntax of a regular expression.
Variants
An empty regex (which never matches any text).
A sequence of one or more literal characters to be matched.
A sequence of one or more literal bytes to be matched.
Fields of LiteralBytes
Match any character.
Match any character, excluding new line (0xA
).
Match any byte.
Match any byte, excluding new line (0xA
).
Class(CharClass)
A character class.
ClassBytes(ByteClass)
A character class with byte ranges only.
Match the start of a line or beginning of input.
Match the end of a line or end of input.
Match the beginning of input.
Match the end of input.
Match a word boundary (word character on one side and a non-word character on the other).
Match a position that is not a word boundary (word or non-word characters on both sides).
Match an ASCII word boundary.
Match a position that is not an ASCII word boundary.
A group, possibly non-capturing.
Fields of Group
A repeat operator (?
, *
, +
or {m,n}
).
Fields of Repeat
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.
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.
Implementations
Parses a string in a regular expression syntax tree.
This is a convenience method for parsing an expression using the
default configuration. To tweak parsing options (such as which flags
are enabled by default), use the ExprBuilder
type.
Returns a set of literal prefixes extracted from this expression.
Returns a set of literal suffixes extracted from this expression.
Returns true if and only if the expression is required to match from the beginning of text.
Returns true if and only if the expression has at least one matchable sub-expression that must match the beginning of text.
Returns true if and only if the expression is required to match at the end of the text.
Returns true if and only if the expression has at least one matchable sub-expression that must match the beginning of text.
Trait Implementations
This implementation of Display
will write a regular expression from the
syntax tree. It does not write the original string parsed.
Auto Trait Implementations
impl RefUnwindSafe for Expr
impl UnwindSafe for Expr
Blanket Implementations
Mutably borrows from an owned value. Read more