#time-parser #parse-time #pest-parser #component #string #validation #clap

bin+lib us_time_parser

A Rust 工具,用于使用 pest 和 clap 包解析和验证时间组件

3 个版本

0.1.2 2023年11月15日
0.1.1 2023年11月15日
0.1.0 2023年11月8日

7 in #parse-time

MIT 许可证

15KB
220

US 时间解析器

US 时间解析器是一个基于 Rust 的工具,旨在从输入字符串中解析各种时间组件。它使用 pest 包进行语法解析和 clap 包来处理命令行参数。

us_time_parser 包在 crates.io 上的信息

解析组件

该解析器可以提取以下时间组件

  • 完整时间:解析格式为 HH:MM:SS AM/PM 的完整时间字符串,其中 HH 代表小时,MM 代表分钟,SS 代表秒(可选),AM/PM 代表一天中的时间。
  • 小时:解析 24 小时制的时间(00-23)。
  • 分钟:解析范围在 00-59 之间的分钟。
  • 秒:解析范围在 00-59 之间的秒(在完整时间格式中是可选的)。
  • AM/PM:解析表示一天中时间的指示符(AM 或 PM 的各种格式)。

解析过程

解析过程包括在 grammar.pest 文件中使用 Pest 解析器生成器定义解析规则。每个时间组件都有其特定的语法规则定义,允许解析器从输入字符串中识别和提取相关部分。

lib.rs 中的 Rust 函数使用定义的解析规则来解析特定的时间组件。这些函数返回解析组件作为 Pest 令牌的迭代器,允许进一步处理或验证解析数据。

使用方法

集成到您的 Rust 项目中

要在您的 Rust 项目中使用 US 时间解析器工具,请按照以下步骤操作

  1. 添加依赖项

    在您的 Cargo.toml 文件中将 us_time_parser 包作为依赖项添加

    [dependencies]
    us_time_parser = "x.x.x"  # Replace "x.x.x" with the latest version
    
  2. 解析时间组件

    us_time_parser 包导入到您的项目中

    use us_time_parser::*;
    

    您现在可以利用 us_time_parser 包提供的解析函数从您的项目中的字符串中提取特定的时间组件。

    let parsed_hour = parse_hour("15");
    let parsed_minute = parse_minute("45");
    // Handle the parsed components as needed
    

命令行界面

US 时间解析器工具还提供了一个用于交互式解析的命令行界面 (CLI)

  1. 安装依赖项

    确保您系统上已安装 Rust。

  2. 克隆仓库

    将时间解析器仓库克隆到您的本地计算机上

    git clone https://github.com/yourusername/your-timestamp-parser.git
    
  3. 构建和运行

    导航到项目目录并构建项目

    cd your-timestamp-parser
    cargo build --release
    
  4. 命令用法

    运行实用程序并使用不同的子命令来解析不同的时间组件

    # Parse complete time
    target/release/your-time-parser parse_time "12:45 PM"
    
    # Parse hour
    target/release/your-time-parser parse_hour "14"
    
    # Parse minute
    target/release/your-time-parser parse_minute "30"
    
    # Parse second
    target/release/your-time-parser parse_second "55"
    
    # Parse AM/PM
    target/release/your-time-parser parse_am_pm "AM"
    

    "your-time-parser" 替换为您项目中生成的可执行文件的名称。

贡献

欢迎您通过在仓库中打开问题或提交拉取请求来为时间解析实用程序做出贡献。您的贡献非常受赞赏!

依赖项

约4MB
约67K SLoC