#glob #regex #parser #text-file #text-parser #text

parseit

由正则表达式和 glob 模式驱动的简单文本文件解析库

3 个版本

0.1.2 2023 年 1 月 15 日
0.1.1 2022 年 8 月 30 日
0.1.0 2022 年 4 月 9 日

#2455 in 解析器实现

Download history • Rust 包仓库 31/week @ 2024-03-14 • Rust 包仓库 41/week @ 2024-03-21 • Rust 包仓库 84/week @ 2024-03-28 • Rust 包仓库 74/week @ 2024-04-04 • Rust 包仓库 45/week @ 2024-04-11 • Rust 包仓库 26/week @ 2024-04-18 • Rust 包仓库 36/week @ 2024-04-25 • Rust 包仓库 51/week @ 2024-05-02 • Rust 包仓库 28/week @ 2024-05-09 • Rust 包仓库 53/week @ 2024-05-16 • Rust 包仓库 65/week @ 2024-05-23 • Rust 包仓库 89/week @ 2024-05-30 • Rust 包仓库 42/week @ 2024-06-06 • Rust 包仓库 32/week @ 2024-06-13 • Rust 包仓库 33/week @ 2024-06-20 • Rust 包仓库 22/week @ 2024-06-27 • Rust 包仓库

133 每月下载量
用于 3 个包 (2 个直接使用)

MIT/Apache

16KB
304

parseit

GitHub Workflow Status Crates.io docs.rs Codecov

由正则表达式和 glob 模式驱动的简单文本文件解析库。

// Create a parser to parse sections in Cargo.toml (and optionally Cargo.lock)
let parser = Parser::new(&["Cargo.*"], &["Cargo.toml"], r#"^\[(.*)\]$\n"#).unwrap();

// Parse the files in the manifest directory.
let documents = parser
    .parse(&PathBuf::from(env!("CARGO_MANIFEST_DIR")))
    .unwrap();

// Print results.
for document in documents {
    println!("Path: {}", document.path.to_string_lossy());
    for paragraph in document.paragraphs {
        println!("Title: {}", paragraph.title);
        println!("Contents: {}", paragraph.contents);
        println!();
    }
}

示例

请参阅 示例

Cargo 特性

  • gzip: 支持读取 gzip (.gz) 文件

许可协议

在您选择的情况下,根据 Apache 许可协议版本 2.0MIT 许可协议 许可。

贡献

除非您明确声明,否则根据 Apache 2.0 许可协议定义的,任何有意提交以包含在本作品中的贡献,均将按照上述方式双重许可,不附加任何其他条款或条件。

版权所有 © 2022-2023,Orhun Parmaksız

依赖关系

~4–14MB
~155K SLoC