Struct glob::Pattern
[−]
[src]
pub struct Pattern { // some fields omitted }
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
and b**
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-]
.
Methods
impl Pattern
fn new(pattern: &str) -> Result<Pattern, PatternError>
This function compiles Unix shell style patterns.
An invalid glob pattern will yield an error.
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.
fn matches(&self, str: &str) -> bool
Return if the given str
matches this Pattern
using the default
match options (i.e. MatchOptions::new()
).
Example
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"));
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()
).
fn matches_with(&self, str: &str, options: &MatchOptions) -> bool
Return if the given str
matches this Pattern
using the specified
match options.
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.
fn as_str<'a>(&'a self) -> &'a str
Access the original glob pattern.
Trait Implementations
impl Display for Pattern
Show the original glob pattern.