Enum regex_syntax::Expr
[−]
[src]
pub enum Expr {
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>),
}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
| |||||||
LiteralBytes | A sequence of one or more literal bytes to be matched. Fields
| |||||||
AnyChar | Match any character. | |||||||
AnyCharNoNL | Match any character, excluding new line ( | |||||||
AnyByte | Match any byte. | |||||||
AnyByteNoNL | Match any byte, excluding new line ( | |||||||
Class | A character class. | |||||||
ClassBytes | A character class with byte ranges only. | |||||||
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). | |||||||
WordBoundaryAscii | Match an ASCII word boundary. | |||||||
NotWordBoundaryAscii | Match a position that is not an ASCII word boundary. | |||||||
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[src]
fn parse(s: &str) -> Result<Expr>
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.
fn prefixes(&self) -> Literals
Returns a set of literal prefixes extracted from this expression.
fn suffixes(&self) -> Literals
Returns a set of literal suffixes extracted from this expression.
fn is_anchored_start(&self) -> bool
Returns true if and only if the expression is required to match from the beginning of text.
fn is_anchored_end(&self) -> bool
Returns true if and only if the expression is required to match at the end of the text.
fn has_bytes(&self) -> bool
Returns true if and only if the expression contains sub-expressions that can match arbitrary bytes.
Trait Implementations
impl Display for Expr[src]
This implementation of Display will write a regular expression from the
syntax tree. It does not write the original string parsed.
Derived Implementations
impl Eq for Expr[src]
impl PartialEq for Expr[src]
fn eq(&self, __arg_0: &Expr) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Expr) -> bool
This method tests for !=.
impl Debug for Expr[src]
impl Clone for Expr[src]
fn clone(&self) -> Expr
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more