#posix #shell #glob

yash-fnmatch

POSIX-compatible pattern matching for globbing

3 stable releases

1.1.0 Oct 21, 2022
1.0.1 Oct 1, 2022
1.0.0 Jul 2, 2022

#2908 in Command line utilities

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

~4.5MB
~89K SLoC