7个版本
0.2.3 | 2023年4月26日 |
---|---|
0.2.2 | 2023年4月19日 |
0.1.5 | 2023年3月25日 |
#7 在 #正则表达式
每月 122 次下载
用于 hitori
60KB
1.5K SLoC
Hitori是一个通用的编译时正则表达式库。它通过为每个表达式创建一系列if语句和for循环来工作。
请参阅示例,其中包括它们扩展到的特质、实现和结构体。
局限性
模式匹配是逐步的。无法分离重复的最后一个元素。例如,使用regex可以将a+
重写为a*a
,并且它仍然会匹配任何长度大于零的a序列。然而,在使用hitori的情况下,a*
会消耗所有的a,并且表达式不会匹配。
逐步模式匹配还会导致匹配大型文本时性能下降,并且表达式包含频繁字符的重复。
包功能
alloc
(默认启用) – 字符串替换函数和hitori特质使用alloc crate的泛型实现。macros
(默认启用) –impl_expr_mut
和impl_expr
宏。find-hitori
– 在宏中使用hitori包时,即使它在Cargo.toml中已重命名也能找到。需要macros
功能。examples
– 将示例模块包含到构建中。
许可证
根据您的要求,在Apache License, Version 2.0或MIT许可证下许可。
除非您明确声明,否则您根据Apache-2.0许可证定义,有意提交以包含在本软件包中的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0.3–1MB
~23K SLoC