3 个版本 (破坏性更新)

0.2.0 2024年7月9日
0.1.0 2024年7月3日
0.0.0-pre2024年5月24日

#97文本处理

Download history 101/week @ 2024-05-24 3/week @ 2024-05-31 1/week @ 2024-06-07 146/week @ 2024-06-28 299/week @ 2024-07-05 1048/week @ 2024-07-12 2476/week @ 2024-07-19 3536/week @ 2024-07-26 2810/week @ 2024-08-02 3157/week @ 2024-08-09 2736/week @ 2024-08-16

12,669 每月下载量

Apache-2.0

54KB
1K SLoC

Build Status Dependency status crates.io Downloads Github stars Documentation License

wildcard

wildcard 是一个用于通配符匹配的 Rust crate。

以下是使用方法

let wildcard = Wildcard::new("*foo?*bar".as_bytes()).unwrap();

assert!(wildcard.is_match("fooofooobar".as_bytes()));

特殊字符可以被转义以表示它们的字面符号

let wildcard = Wildcard::new(r"\*\?".as_bytes()).unwrap();

assert!(!wildcard.is_match("ab".as_bytes()));
assert!(wildcard.is_match("*?".as_bytes()));

您还可以捕获与通配符元符号匹配的子字符串

let wildcard = Wildcard::new("* is a * style?".as_bytes()).unwrap();

let captures: Vec<&[u8]> = wildcard.captures("Lambic is a beer style!".as_bytes()).unwrap();

assert_eq!(captures, ["Lambic".as_bytes(), "beer".as_bytes(), "!".as_bytes()]);

匹配定制

使用 wildcard 您可以配置通配符的以下属性

  1. 配置元符号 *? 以及转义符号。
  2. 可以禁用对 ? 元符号的支持。
  3. 可以禁用转义支持。
  4. 支持不区分大小写的匹配。

依赖项

~285–750KB
~18K SLoC