Enum regex_syntax::ErrorKind
[−]
[src]
pub enum ErrorKind {
DoubleFlagNegation,
DuplicateCaptureName(String),
EmptyAlternate,
EmptyCaptureName,
EmptyFlagNegation,
EmptyGroup,
InvalidBase10(String),
InvalidBase16(String),
InvalidCaptureName(String),
InvalidClassRange {
start: char,
end: char,
},
InvalidClassEscape(Expr),
InvalidRepeatRange {
min: u32,
max: u32,
},
InvalidScalarValue(u32),
MissingBase10,
RepeaterExpectsExpr,
RepeaterUnexpectedExpr(Expr),
UnclosedCaptureName(String),
UnclosedHex,
UnclosedParen,
UnclosedRepeat,
UnclosedUnicodeName,
UnexpectedClassEof,
UnexpectedEscapeEof,
UnexpectedFlagEof,
UnexpectedTwoDigitHexEof,
UnopenedParen,
UnrecognizedEscape(char),
UnrecognizedFlag(char),
UnrecognizedUnicodeClass(String),
StackExhausted,
FlagNotAllowed(char),
UnicodeNotAllowed,
InvalidUtf8,
EmptyClass,
// some variants omitted
}The specific type of parse error that can occur.
Variants
DoubleFlagNegationA negation symbol is used twice in flag settings.
e.g., (?-i-s).
DuplicateCaptureName(String)The same capture name was used more than once.
e.g., (?P<a>.)(?P<a>.).
EmptyAlternateAn alternate is empty. e.g., (|a).
EmptyCaptureNameA capture group name is empty. e.g., (?P<>a).
EmptyFlagNegationA negation symbol was not proceded by any flags. e.g., (?i-).
EmptyGroupA group is empty. e.g., ().
InvalidBase10(String)An invalid number was used in a counted repetition. e.g., a{b}.
InvalidBase16(String)An invalid hexadecimal number was used in an escape sequence.
e.g., \xAG.
InvalidCaptureName(String)An invalid capture name was used. e.g., (?P<0a>b).
InvalidClassRangeAn invalid class range was givien. Specifically, when the start of the
range is greater than the end. e.g., [z-a].
Fields
start: char | The first character specified in the range. |
end: char | The second character specified in the range. |
InvalidClassEscape(Expr)An escape sequence was used in a character class where it is not
allowed. e.g., [a-\pN] or [\A].
InvalidRepeatRangeAn invalid counted repetition min/max was given. e.g., a{2,1}.
Fields
min: u32 | The first number specified in the repetition. |
max: u32 | The second number specified in the repetition. |
InvalidScalarValue(u32)An invalid Unicode scalar value was used in a long hexadecimal
sequence. e.g., \x{D800}.
MissingBase10An empty counted repetition operator. e.g., a{}.
RepeaterExpectsExprA repetition operator was not applied to an expression. e.g., *.
RepeaterUnexpectedExpr(Expr)A repetition operator was applied to an expression that cannot be
repeated. e.g., a+* or a|*.
UnclosedCaptureName(String)A capture group name that is never closed. e.g., (?P<a.
UnclosedHexAn unclosed hexadecimal literal. e.g., \x{a.
UnclosedParenAn unclosed parenthesis. e.g., (a.
UnclosedRepeatAn unclosed counted repetition operator. e.g., a{2.
UnclosedUnicodeNameAn unclosed named Unicode class. e.g., \p{Yi.
UnexpectedClassEofSaw end of regex before class was closed. e.g., [a.
UnexpectedEscapeEofSaw end of regex before escape sequence was closed. e.g., \.
UnexpectedFlagEofSaw end of regex before flags were closed. e.g., (?i.
UnexpectedTwoDigitHexEofSaw end of regex before two hexadecimal digits were seen. e.g., \xA.
UnopenedParenUnopened parenthesis. e.g., ).
UnrecognizedEscape(char)Unrecognized escape sequence. e.g., \q.
UnrecognizedFlag(char)Unrecognized flag. e.g., (?a).
UnrecognizedUnicodeClass(String)Unrecognized named Unicode class. e.g., \p{Foo}.
StackExhaustedIndicates that the regex uses too much nesting.
(N.B. This error exists because traversing the Expr is recursive and an explicit heap allocated stack is not (yet?) used. Regardless, some sort of limit must be applied to avoid unbounded memory growth.
FlagNotAllowed(char)A disallowed flag was found (e.g., u).
UnicodeNotAllowedA Unicode class was used when the Unicode (u) flag was disabled.
InvalidUtf8InvalidUtf8 indicates that the expression may match non-UTF-8 bytes. This never returned if the parser is permitted to allow expressions that match arbitrary bytes.
EmptyClassA character class was constructed such that it is empty.
e.g., [^\d\D].
Trait Implementations
impl Clone for ErrorKind[src]
fn clone(&self) -> ErrorKind
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
impl Debug for ErrorKind[src]
impl PartialEq for ErrorKind[src]
fn eq(&self, __arg_0: &ErrorKind) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &ErrorKind) -> bool
This method tests for !=.