4 stable releases

1.1.1 Apr 9, 2024
1.1.0 Oct 21, 2022
1.0.1 Oct 1, 2022
1.0.0 Jul 2, 2022

#397 in Command line utilities

Download history 23/week @ 2024-06-24 820/week @ 2024-07-01 808/week @ 2024-07-08 864/week @ 2024-07-15 1370/week @ 2024-07-22 1286/week @ 2024-07-29 1989/week @ 2024-08-05 1078/week @ 2024-08-12 1051/week @ 2024-08-19 675/week @ 2024-08-26 1073/week @ 2024-09-02 311/week @ 2024-09-09 329/week @ 2024-09-16 422/week @ 2024-09-23 407/week @ 2024-09-30

1,500 downloads per month
Used in 4 crates (via yash-semantics)

MIT/Apache

99KB
2.5K SLoC

Yash-fnmatch

yash-fnmatch is a Rust library crate for performing glob-style pattern matching. This crate is part of yash, but can be used independently.

This crate recognizes all the features of the pattern matching notation as defined in POSIX. However, this crate does not (yet) support any locale-dependent behaviors.

yash-fnmatch at crates.io yash-fnmatch at docs.rs Build status

Usage

Add yash-fnmatch as a dependency in your Cargo.toml.

use yash_fnmatch::{Pattern, without_escape};
let p = Pattern::parse(without_escape("r*g")).unwrap();
assert_eq!(p.find("string"), Some(2..6));

License

MIT or Apache 2.0, at your option

Similar crates

yash-fnmatch is very similar to the fnmatch-regex crate in that both perform matching by converting the pattern to a regular expression. yash-fnmatch tries to support the POSIX specification as much as possible rather than introducing unique (non-portable) functionalities.

Dependencies

~2.3–4MB
~69K SLoC