Expand description
Hitori is generic compile-time regular expressions library. It works by creating series of if-statements and for-loops for each expression.
See code samples along with the traits, impls and structs they expand to in examples.
§Limitations
Pattern matching is step-by-step. It is impossible to to detach last element of a repetition.
For example, using regex one can rewrite a+
as a*a
and it would still match any
sequence of a
s longer than zero. With hitori, however, a*
would consume
all the a
s, and the expression won’t match.
Step-by step pattern matching also leads to diminished performance when matching large texts with an expression that contains repetitions of characters frequent in the text.
§Crate features
alloc
(enabled by default) – string replace functions and blanket implementations of hitori traits for boxes using alloc crate.macros
(enabled by default) –impl_expr_mut
andimpl_expr
macros.find-hitori
– finds hitori package to be used in macros even if it has been renamed in Cargo.toml.macros
feature is required.
Modules§
- string
- Items specific to
ExprMut<usize, char>
Structs§
Traits§
Functions§
- find
- Finds the first subsequence of characters that is matched by
ExprMut
. - starts_
with - Checks if an
Iterator
starts withExprMut
-matched characters.
Attribute Macros§
- impl_
expr macros
- Implements
Expr
andExprMut
for the type. - impl_
expr_ mut macros
- Implements
ExprMut
for the type.