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. This sequence must form a single path component, so both**a
andb**
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
sourceimpl 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.
Trait Implementations
sourceimpl FromStr for Pattern
impl FromStr for Pattern
type Err = PatternError
type Err = PatternError
The associated error which can be returned from parsing.
sourceimpl Ord for Pattern
impl Ord for Pattern
sourceimpl PartialOrd<Pattern> for Pattern
impl PartialOrd<Pattern> for Pattern
sourcefn partial_cmp(&self, other: &Pattern) -> Option<Ordering>
fn partial_cmp(&self, other: &Pattern) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Eq for Pattern
impl StructuralEq for Pattern
impl StructuralPartialEq for Pattern
Auto Trait Implementations
impl RefUnwindSafe for Pattern
impl Send for Pattern
impl Sync for Pattern
impl Unpin for Pattern
impl UnwindSafe for Pattern
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more