7 个版本

0.1.8 2024 年 7 月 28 日
0.1.7 2024 年 7 月 14 日

文本处理 中排名 528

Download history 185/week @ 2024-07-09 26/week @ 2024-07-16 96/week @ 2024-07-23 53/week @ 2024-07-30

每月下载量 206
用于 rust-regex-dsl

MIT 许可证 MIT

20KB
459 行(不包括注释)

Rust 正则表达式 DSL

此 crate 的构建是为了帮助使用硬编码的正则表达式。

原因

虽然正则表达式是解析和验证字符串的有力工具,但它们在代码库中难以维护。这有几个原因:

  • 编译器无法识别无效的正则表达式。这意味着需要在运行时测试正则表达式,并且需要添加代码来处理无效的正则表达式(这对于有效的硬编码正则表达式来说是不可能发生的)。
  • 长的正则表达式难以阅读。这意味着维护正则表达式可能比重写它们更困难。
  • 捕获组的索引访问返回一个可选值,如果组未定义或未捕获(例如,对于正则表达式 ([a-z]+)|([A-Z]+) 有两个组但只有一个将被捕获,所以索引 3 的 none 与索引 1 的 none 含义不同)。
  • 命名捕获组通过字符串访问 - 因此,编译器不会在字符串错误时发出警告。

入门指南

添加

[dependencies]
rust-regex-dsl = "0.1"

Cargo.toml 清单。然后使用可用的宏之一。

示例

请参阅此处

依赖项

~2.2–3MB
~54K SLoC