hitori

Crates.iohitori
lib.rshitori
version0.2.3
sourcesrc
created_at2023-03-14 09:45:02.979722
updated_at2023-04-26 11:32:49.65371
descriptionGeneric compile-time regular expressions
homepage
repositoryhttps://github.com/30bit/hitori
max_upload_size
id809674
size6,891,401
(30bit)

documentation

https://docs.rs/hitori

README

hitori crate hitori documentation Build status

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 as longer than zero. With hitori, however, a* would consume all the as, 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.

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 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.

License

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.

Commit count: 7

cargo fmt