8 个版本
0.1.8 | 2024年7月28日 |
---|---|
0.1.7 | 2024年7月14日 |
1055 在 文本处理
每月 369 次下载
17KB
248 行
Rust 正则表达式 DSL
这个 crate 旨在帮助使用硬编码的正则表达式。
原因
虽然正则表达式是一种强大的解析和验证字符串的工具,但它们在代码库中难以维护。这有几个原因:
- 编译器无法识别无效的正则表达式。这意味着需要在运行时测试正则表达式,并且需要添加代码来处理无效的正则表达式(这对于有效的硬编码正则表达式是不可能发生的)。
- 长正则表达式难以阅读。这意味着维护正则表达式可能比重新编写它们更困难。
- 捕获组索引访问返回一个可能为空的选项,如果组未定义或未捕获时(例如,对于像
([a-z]+)|([A-Z]+)
这样的正则表达式有两个组但只有一个是捕获的,所以索引 3 的空与索引 1 的空有不同的意义)。 - 命名捕获组通过字符串访问 - 因此,如果字符串错误,编译器不会报错。
入门
添加
[dependencies]
rust-regex-dsl = "0.1"
到 Cargo.toml
清单中。并使用可用的宏之一。
示例
见 此处。
依赖
~3.5–5MB
~88K SLoC