pub enum Token {
Show 45 variants
Char(char),
Escaped(char),
NamedClass(NamedClassToken),
NamedList(String),
Backreference(usize),
OpenParen,
CloseParen,
OpenBracket,
CloseBracket,
OpenBrace,
CloseBrace,
Pipe,
Caret,
Dollar,
Dot,
Star,
Plus,
Question,
StarPossessive,
PlusPossessive,
QuestionPossessive,
Tilde,
Hyphen,
NonCapturing,
PositiveLookahead,
NegativeLookahead,
PositiveLookbehind,
NegativeLookbehind,
NamedGroup(String),
BestMatch,
EnhanceMatch,
PosixMatch,
Verbose,
DotAll,
MultiLine,
Ungreedy,
CaseInsensitive,
Global,
Unicode,
ResetMatchStart,
AtomicGroup,
RecursivePattern,
RecursiveGroup(usize),
RecursiveNamedGroup(String),
Eof,
}Expand description
Token produced by the lexer.
Variants§
Char(char)
Literal character.
Escaped(char)
Escaped character (e.g., \n, \t).
NamedClass(NamedClassToken)
Named class escape (e.g., \d, \w, \s).
NamedList(String)
Named list reference \L<name>.
Backreference(usize)
Backreference \1, \2, etc.
OpenParen
( - open group.
CloseParen
) - close group.
OpenBracket
[ - open character class.
CloseBracket
] - close character class.
OpenBrace
{ - open quantifier.
CloseBrace
} - close quantifier.
Pipe
| - alternation.
Caret
^ - start anchor or negation in char class.
Dollar
$ - end anchor.
Dot
. - any character.
Star
* - zero or more.
Plus
+ - one or more.
Question
? - zero or one, or non-greedy modifier.
StarPossessive
*+ - possessive zero or more (only after atom, not after another quantifier).
PlusPossessive
++ - possessive one or more (only after atom).
QuestionPossessive
?+ - possessive zero or one (only after atom).
Tilde
~ - fuzziness marker.
Hyphen
- - range in character class.
NonCapturing
(?: - non-capturing group.
PositiveLookahead
(?= - positive lookahead.
NegativeLookahead
(?! - negative lookahead.
PositiveLookbehind
(?<= - positive lookbehind.
NegativeLookbehind
(?<! - negative lookbehind.
NamedGroup(String)
(?P<name> or (?<name> - named group.
BestMatch
(?b) - BESTMATCH flag (search for best match instead of first).
EnhanceMatch
(?e) - ENHANCEMATCH flag (improve fit of fuzzy match).
PosixMatch
(?p) - POSIX leftmost-longest matching.
Verbose
(?x) - Verbose mode (ignore whitespace, allow comments).
DotAll
(?s) - Dot-all mode (. matches newlines).
MultiLine
(?m) - Multi-line mode (^/$ match at line boundaries).
Ungreedy
(?U) - Ungreedy mode (invert default greediness).
CaseInsensitive
(?i) - Case-insensitive mode.
Global
(?g) - Global mode (find all matches).
Unicode
(?u) - Unicode mode (enable Unicode character classes).
ResetMatchStart
\K - Reset match start (keep everything before it out of the match).
AtomicGroup
(?> - Atomic group (prevent backtracking).
RecursivePattern
(?R) - Recursive entire pattern.
RecursiveGroup(usize)
(?1), (?2), etc. - Recursive numbered group.
RecursiveNamedGroup(String)
(?&name) - Recursive named group.
Eof
End of input.