Crates.io | hitori |
lib.rs | hitori |
version | 0.2.3 |
source | src |
created_at | 2023-03-14 09:45:02.979722 |
updated_at | 2023-04-26 11:32:49.65371 |
description | Generic compile-time regular expressions |
homepage | |
repository | https://github.com/30bit/hitori |
max_upload_size | |
id | 809674 |
size | 6,891,401 |
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.
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 and an expression contains repetitions of frequent characters.
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
and impl_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.examples
– includes examples module into the build.Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.