3 个版本 (破坏性更新)
0.2.0 | 2024年7月9日 |
---|---|
0.1.0 | 2024年7月3日 |
0.0.0-pre | 2024年5月24日 |
#97 在 文本处理
12,669 每月下载量
54KB
1K SLoC
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
您可以配置通配符的以下属性
- 配置元符号
*
和?
以及转义符号。 - 可以禁用对
?
元符号的支持。 - 可以禁用转义支持。
- 支持不区分大小写的匹配。
依赖项
~285–750KB
~18K SLoC