HirKind in regex_syntax::hir - Rust (original) (raw)
pub enum HirKind {
Empty,
Literal(Literal),
Class(Class),
Look(Look),
Repetition(Repetition),
Capture(Capture),
Concat(Vec<Hir>),
Alternation(Vec<Hir>),
}
Expand description
The underlying kind of an arbitrary Hir expression.
An HirKind
is principally useful for doing case analysis on the type of a regular expression. If you’re looking to build new Hir
values, then you must use the smart constructors defined on Hir
, likeHir::repetition, to build new Hir
values. The API intentionally does not expose any way of building an Hir
directly from an HirKind
.
The empty regular expression, which matches everything, including the empty string.
A literalstring that matches exactly these bytes.
A single character class that matches any of the characters in the class. A class can either consist of Unicode scalar values as characters, or it can use bytes.
A class may be empty. In which case, it matches nothing.
A look-around assertion. A look-around match always has zero length.
A repetition operation applied to a sub-expression.
A capturing group, which contains a sub-expression.
A concatenation of expressions.
A concatenation matches only if each of its sub-expressions match one after the other.
Concatenations are guaranteed by Hir
’s smart constructors to always have at least two sub-expressions.
An alternation of expressions.
An alternation matches only if at least one of its sub-expressions match. If multiple sub-expressions match, then the leftmost is preferred.
Alternations are guaranteed by Hir
’s smart constructors to always have at least two sub-expressions.
Returns a slice of this kind’s sub-expressions, if any.
Tests for self
and other
values to be equal, and is used by ==
.
Tests for !=
. The default implementation is almost always sufficient, and should not be overridden without very good reason.