2个不稳定版本
0.2.0 | 2023年4月29日 |
---|---|
0.1.0 | 2023年3月28日 |
#1803 in 解析器实现
每月102次下载
34KB
728 行
arXiv
用于解析arXiv
类别、标识符和引用的Rust库。
安装
在终端中运行以下命令
cargo add arxiv
或者,将其添加到Cargo.toml
[dependencies]
arxiv = "0.2"
用法
use std::str::FromStr;
use arxiv::*;
// Parse an arXiv identifier
let id = ArxivId::from_str("arXiv:9912.12345v2").unwrap();
assert_eq!(id.month(), 12);
assert_eq!(id.year(), 2099);
assert_eq!(id.number(), "12345");
assert_eq!(id.version(), Some(2));
// Parse an arXiv category
let category = ArxivCategoryId::from_str("astro-ph.HE").unwrap();
assert_eq!(category.group(), ArxivGroup::Physics);
assert_eq!(category.archive(), ArxivArchive::AstroPh);
assert_eq!(category.subject(), String::from("HE"));
// Parse an arXiv stamp
let stamp = ArxivStamp::from_str("arXiv:0706.0001v1 [q-bio.CB] 1 Jun 2007").unwrap();
assert_eq!(stamp.category(), Some(&ArxivCategoryId::try_new(ArxivArchive::QBio, "CB").unwrap()));
assert_eq!(stamp.submitted().year(), 2007);
许可
许可协议为以下之一
- Apache License,版本2.0 (
LICENSE-APACHE
或 https://apache.ac.cn/licenses/LICENSE-2.0) - MIT许可协议 (
LICENSE-MIT
或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可协议,您有意提交的任何贡献,作为本作品的一部分,应以上述双许可方式发布,不得附加任何额外的条款或条件。
依赖
~745KB
~13K SLoC