pub struct Pattern { /* private fields */ }Expand description
A compiled Unix shell style pattern.
-
?matches any single character. -
*matches any (possibly empty) sequence of characters. -
**matches the current directory and arbitrary subdirectories. To match files in arbitrary subdirectories, use**/*.This sequence must form a single path component, so both
**aandb**are invalid and will result in an error. A sequence of more than two consecutive*characters is also invalid. -
[...]matches any character inside the brackets. Character sequences can also specify ranges of characters, as ordered by Unicode, so e.g.[0-9]specifies any character between 0 and 9 inclusive. An unclosed bracket is invalid. -
[!...]is the negation of[...], i.e. it matches any characters not in the brackets. -
The metacharacters
?,*,[,]can be matched by using brackets (e.g.[?]). When a]occurs immediately following[or[!then it is interpreted as being part of, rather then ending, the character set, so]and NOT]can be matched by[]]and[!]]respectively. The-character can be specified inside a character sequence pattern by placing it at the start or the end, e.g.[abc-].
Implementations§
Source§impl Pattern
impl Pattern
Sourcepub fn new(pattern: &str) -> Result<Self, PatternError>
pub fn new(pattern: &str) -> Result<Self, PatternError>
This function compiles Unix shell style patterns.
An invalid glob pattern will yield a PatternError.
Sourcepub fn escape(s: &str) -> String
pub fn escape(s: &str) -> String
Escape metacharacters within the given string by surrounding them in
brackets. The resulting string will, when compiled into a Pattern,
match the input string and nothing else.
Sourcepub fn matches(&self, str: &str) -> bool
pub fn matches(&self, str: &str) -> bool
Return if the given str matches this Pattern using the default
match options (i.e. MatchOptions::new()).
§Examples
use glob::Pattern;
assert!(Pattern::new("c?t").unwrap().matches("cat"));
assert!(Pattern::new("k[!e]tteh").unwrap().matches("kitteh"));
assert!(Pattern::new("d*g").unwrap().matches("doog"));Sourcepub fn matches_path(&self, path: &Path) -> bool
pub fn matches_path(&self, path: &Path) -> bool
Return if the given Path, when converted to a str, matches this
Pattern using the default match options (i.e. MatchOptions::new()).
Sourcepub fn matches_with(&self, str: &str, options: MatchOptions) -> bool
pub fn matches_with(&self, str: &str, options: MatchOptions) -> bool
Return if the given str matches this Pattern using the specified
match options.
Sourcepub fn matches_path_with(&self, path: &Path, options: MatchOptions) -> bool
pub fn matches_path_with(&self, path: &Path, options: MatchOptions) -> bool
Return if the given Path, when converted to a str, matches this
Pattern using the specified match options.