3 个版本
0.1.2 | 2023年11月15日 |
---|---|
0.1.1 | 2023年11月15日 |
0.1.0 | 2023年11月8日 |
7 in #parse-time
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 时间解析器工具,请按照以下步骤操作
-
添加依赖项
在您的
Cargo.toml
文件中将us_time_parser
包作为依赖项添加[dependencies] us_time_parser = "x.x.x" # Replace "x.x.x" with the latest version
-
解析时间组件
将
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)
-
安装依赖项
确保您系统上已安装 Rust。
-
克隆仓库
将时间解析器仓库克隆到您的本地计算机上
git clone https://github.com/yourusername/your-timestamp-parser.git
-
构建和运行
导航到项目目录并构建项目
cd your-timestamp-parser cargo build --release
-
命令用法
运行实用程序并使用不同的子命令来解析不同的时间组件
# 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