A character group used in a regex to specify either a range of characters, a single character or a character class.
A character group used in a regex to specify either a range of characters, a single character or a character class. CharGroups are used to create and extract standard simple regexes to support building human readable explanations.
A trait for the lazy result of lexing
A trait for a lexer that allows separating a string into "tokens" and "delimiters".
A trait for a lexer that allows separating a string into "tokens" and "delimiters". Each lexer defines tokens and delimiters differently. A whitespace lexer assigns whitespace runs as delimiters and non-whitespace runs as tokens. A capitalization-based lexer creates tokens when capitalization changes from lower case to upper case but produces no delimiters.
Convenience object for building and extracting full string pattern based on simple CharGroup regex expressions Note: a pattern here means a regex that begins with '^^', contains one set of char groups ('[...]*') and end withs '$'
Convenience object for building and extracting all of the CharGroups contained in a simple '[...]' regex expression.
Note1 : ensures recursive replacements cannot occur. Once a section of the string has been matched, it cannot be matched again later. All replacements occur only after all matching has finished.