Enum regex_syntax::ast::ErrorKind [−][src]
The type of an error that occurred while building an AST.
Variants
The capturing group limit was exceeded.
Note that this represents a limit on the total number of capturing groups in a regex and not necessarily the number of nested capturing groups. That is, the nest limit can be low and it is still possible for this error to occur.
An invalid escape sequence was found in a character class set.
An invalid character class range was found. An invalid range is any range where the start is greater than the end.
An invalid range boundary was found in a character class. Range boundaries must be a single literal codepoint, but this error indicates that something else was found, such as a nested class.
An opening [
was found with no corresponding closing ]
.
Note that this error variant is no longer used. Namely, a decimal
number can only appear as a repetition quantifier. When the number
in a repetition quantifier is empty, then it gets its own specialized
error, RepetitionCountDecimalEmpty
.
An invalid decimal number was given where one was expected.
A bracketed hex literal was empty.
A bracketed hex literal did not correspond to a Unicode scalar value.
An invalid hexadecimal digit was found.
EOF was found before an escape sequence was completed.
An unrecognized escape sequence.
A dangling negation was used when setting flags, e.g., i-
.
A flag was used twice, e.g., i-i
.
Fields of FlagDuplicate
original: Span
The position of the original flag. The error position points to the duplicate flag.
The negation operator was used twice, e.g., -i-s
.
Fields of FlagRepeatedNegation
original: Span
The position of the original negation operator. The error position points to the duplicate negation operator.
Expected a flag but got EOF, e.g., (?
.
Unrecognized flag, e.g., a
.
A duplicate capture name was found.
Fields of GroupNameDuplicate
original: Span
The position of the initial occurrence of the capture name. The error position itself points to the duplicate occurrence.
A capture group name is empty, e.g., (?P<>abc)
.
An invalid character was seen for a capture group name. This includes errors where the first character is a digit (even though subsequent characters are allowed to be digits).
A closing >
could not be found for a capture group name.
An unclosed group, e.g., (ab
.
The span of this error corresponds to the unclosed parenthesis.
An unopened group, e.g., ab)
.
NestLimitExceeded(u32)
The nest limit was exceeded. The limit stored here is the limit configured in the parser.
The range provided in a counted repetition operator is invalid. The range is invalid if the start is greater than the end.
An opening {
was not followed by a valid decimal value.
For example, x{}
or x{]}
would fail.
An opening {
was found with no corresponding closing }
.
A repetition operator was applied to a missing sub-expression. This
occurs, for example, in the regex consisting of just a *
or even
(?i)*
. It is, however, possible to create a repetition operating on
an empty sub-expression. For example, ()*
is still considered valid.
The Unicode class is not valid. This typically occurs when a \p
is
followed by something other than a {
.
When octal support is disabled, this error is produced when an octal escape is used. The octal escape is assumed to be an invocation of a backreference, which is the common case.
When syntax similar to PCRE’s look-around is used, this error is
returned. Some example syntaxes that are rejected include, but are
not necessarily limited to, (?=re)
, (?!re)
, (?<=re)
and
(?<!re)
. Note that all of these syntaxes are otherwise invalid; this
error is used to improve the user experience.
Trait Implementations
impl Clone for ErrorKind
[src]
impl Debug for ErrorKind
[src]
impl Display for ErrorKind
[src]
impl Eq for ErrorKind
[src]
impl PartialEq<ErrorKind> for ErrorKind
[src]
impl StructuralEq for ErrorKind
[src]
impl StructuralPartialEq for ErrorKind
[src]
Auto Trait Implementations
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnwindSafe for ErrorKind
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,