5 个版本 (破坏性更新)

0.5.0 2021 年 12 月 7 日
0.4.0 2020 年 10 月 2 日
0.3.0 2020 年 9 月 30 日
0.2.0 2020 年 8 月 19 日
0.1.0 2019 年 9 月 12 日

#1339文本处理


2 个 Crates 中使用 (通过 docuglot)

MIT 许可证

33KB
695

cur

cur - 您的正则表达式搜索伙伴。

许可证:MIT


lib.rs:

cur - 您的 Unicode 模式搜索伙伴。

此模块提供了一个 [Cur],它可以确定名为 "Odor" 的模式是否与称为 "search" 的 Unicode 字符串匹配。 Odor 可以使用 Name 为其模式中的任何部分 "标记"。对于 [Cur] 找到的每个匹配项,它可以返回一个具有位置信息的 Catch,称为 Find,为 Odor 的每个标记。

示例

use cur::*;

// Define an Odor.
odor!(HELLO_WORLD = ["Hello ", .. as name, '!']);

// Create a Cur that will hunt for the Odor.
let mut cur = Cur::new(&HELLO_WORLD);

// Set the search to be hunted.
cur.set_search("Hello Bob!");

// Execute the hunt by requesting information from the Cur.
assert!(!cur.is_clear());

// The Cur iterates on the Catch found.
if let Some(catch) = cur.next() {
    assert_eq!(catch.get("name").map(Find::as_str), Some("Bob"));
} else {
    panic!("Cur did not find catch");
}

依赖项

~1.5MB
~38K SLoC